public async Task <ActionResult> PeriodReport([FromBody] PeriodReportTypeModel model) { try { var doc_stream = await _reportService.PeriodReport(model); doc_stream.Seek(0, SeekOrigin.Begin); return(File(doc_stream, "application/vnd.ms-excel", _reportService.GetReportName(model.ReportId) + ".xlsx")); } catch (Exception ex) { return(BadRequest()); } }
public Task <Stream> PeriodReport(PeriodReportTypeModel model) { return(Task <Stream> .Run(() => { if (model.ReportId == 1) { using (ReportAllEmploee report = new ReportAllEmploee(_dbcontext, model.DFrom, model.DTo)) { report.Init(); report.GenerateReport(); return report.GetReportStream() as Stream; } } else if (model.ReportId == 2) { using (ReportContructors report = new ReportContructors(_dbcontext, model.DFrom, model.DTo)) { report.Init(); report.GenerateReport(); return report.GetReportStream() as Stream; } } else if (model.ReportId == 4) { using (ReportAllObjects report = new ReportAllObjects(_dbcontext, model.DFrom, model.DTo)) { report.Init(); report.GenerateReport(); return report.GetReportStream() as Stream; } } return null; })); }