Не все пути кода возращают значение
Имеется проект в котором испоьзуется 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.
Или подскажите как коректно передать созданный файл на фронт