Не все пути кода возращают значение

Имеется проект в котором испоьзуется MediatR (CQRS)

В контроллере, который должен возвращать поток данных (экспорт таблицы в Excel). Возникает ошибка: CS0661 не все пути возращают значение

Пример кода контроллера

  public async Task<FileContentResult> ExportGeneralReport([FromBody] GetGeneralExcelReportRequest vm)
    {
        await Mediator.Send(new GetGeneralExcelReportRequest
        {
            Date = vm.Date,
            ...
        });
    }

Пример кода QueryHadler

internal class GetGeneralExcelReportQueryHandler : ControllerBase, IRequestHandler<GetGeneralExcelReportRequest, FileContentResult>
{
    public Task<FileContentResult> Handle(GetGeneralExcelReportRequest request, CancellationToken cancellationToken)
    {
        FileContentResult result;
        List<string> _list = new();
        using (IXLWorkbook workbook = new XLWorkbook())
        {
            var worksheet = workbook.Worksheets.Add("GeneralReport");
            var currentRow = 1;

            worksheet.Cell(currentRow, 1).Value = "Дата";
            ...
            foreach(var item in _list)
            {
                currentRow++;
                worksheet.Cell(currentRow, 1).Value = item.date;
                ...
            }
            #endregion
            using (MemoryStream stream = new MemoryStream())
            {
                workbook.SaveAs(stream);
                result = File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "test.xlsx");
                return Task.FromResult(result);
            }
        }
    }

Проблема возника после того как я унаследовал ControllerBase. Нужно ли его вообще наследовать в этом случае ? Я это сделал для того , чтобы File для передачи файла использовался из ControllerBase , а не из System.IO.

Или подскажите как коректно передать созданный файл на фронт


Ответы (0 шт):