I have async method
<code> public async Task<FileBytesDto> ExportToFileBytes(LeaseHaulerStatementReportDto data)
{
return await CreateCsvFileBytes(
data.FileName, async () =>
{
await FillCsvFile(data);
}
);
}
</code>
<code> public async Task<FileBytesDto> ExportToFileBytes(LeaseHaulerStatementReportDto data)
{
return await CreateCsvFileBytes(
data.FileName, async () =>
{
await FillCsvFile(data);
}
);
}
</code>
public async Task<FileBytesDto> ExportToFileBytes(LeaseHaulerStatementReportDto data)
{
return await CreateCsvFileBytes(
data.FileName, async () =>
{
await FillCsvFile(data);
}
);
}
I call it like this
<code> private async Task<FileDto> GetCsvFilesFromReportDtoAsync(GetCsvFilesFromReportDtoInput input)
{
var data = input.Report;
var filename = $"LeaseHaulerStatement{data.Id}";
if (input.SplitByLeaseHauler)
{
var csvList = data.Tickets
.GroupBy(x => x.CarrierName)
.Select(async group =>
{
var carrierData = data.Clone();
carrierData.FileName = $"{filename}-{group.Key}.csv";
carrierData.Tickets = group.ToList();
return await _leaseHaulerStatementCsvExporter.ExportToFileBytes(carrierData);
});
var zipFile = csvList.ToZipFile(filename + ".zip", CompressionLevel.Optimal);
return await _leaseHaulerStatementCsvExporter.StoreTempFileAsync(zipFile);
}
else
{
data.FileName = $"{filename}.csv";
return await _leaseHaulerStatementCsvExporter.ExportToFileAsync(data);
}
}
</code>
<code> private async Task<FileDto> GetCsvFilesFromReportDtoAsync(GetCsvFilesFromReportDtoInput input)
{
var data = input.Report;
var filename = $"LeaseHaulerStatement{data.Id}";
if (input.SplitByLeaseHauler)
{
var csvList = data.Tickets
.GroupBy(x => x.CarrierName)
.Select(async group =>
{
var carrierData = data.Clone();
carrierData.FileName = $"{filename}-{group.Key}.csv";
carrierData.Tickets = group.ToList();
return await _leaseHaulerStatementCsvExporter.ExportToFileBytes(carrierData);
});
var zipFile = csvList.ToZipFile(filename + ".zip", CompressionLevel.Optimal);
return await _leaseHaulerStatementCsvExporter.StoreTempFileAsync(zipFile);
}
else
{
data.FileName = $"{filename}.csv";
return await _leaseHaulerStatementCsvExporter.ExportToFileAsync(data);
}
}
</code>
private async Task<FileDto> GetCsvFilesFromReportDtoAsync(GetCsvFilesFromReportDtoInput input)
{
var data = input.Report;
var filename = $"LeaseHaulerStatement{data.Id}";
if (input.SplitByLeaseHauler)
{
var csvList = data.Tickets
.GroupBy(x => x.CarrierName)
.Select(async group =>
{
var carrierData = data.Clone();
carrierData.FileName = $"{filename}-{group.Key}.csv";
carrierData.Tickets = group.ToList();
return await _leaseHaulerStatementCsvExporter.ExportToFileBytes(carrierData);
});
var zipFile = csvList.ToZipFile(filename + ".zip", CompressionLevel.Optimal);
return await _leaseHaulerStatementCsvExporter.StoreTempFileAsync(zipFile);
}
else
{
data.FileName = $"{filename}.csv";
return await _leaseHaulerStatementCsvExporter.ExportToFileAsync(data);
}
}
In this row var zipFile = csvList.ToZipFile(filename + ".zip", CompressionLevel.Optimal);
I got error
Cannot convert instance argument type
‘System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<DispatcherWeb.Dto.FileBytesDto>>’
to
‘System.Collections.Generic.IEnumerable<DispatcherWeb.Dto.FileBytesDto>’
How I can solve this?