public async Task <ActionResult> DownloadErrorsAndWarnings(Guid pcsId, Guid dataReturnUploadId) { SchemePublicInfo scheme = await cache.FetchSchemePublicInfo(pcsId); DataReturnForSubmission dataReturn = await FetchDataReturnUpload(pcsId, dataReturnUploadId); CsvWriter <IErrorOrWarning> csvWriter = csvWriterFactory.Create <IErrorOrWarning>(); csvWriter.DefineColumn("Type", e => e.TypeName); csvWriter.DefineColumn("Description", e => e.Description); List <IErrorOrWarning> errorsAndWarnings = new List <IErrorOrWarning>(); errorsAndWarnings.AddRange(dataReturn.Errors); errorsAndWarnings.AddRange(dataReturn.Warnings); string csv = csvWriter.Write(errorsAndWarnings); string filename = string.Format( "{0}_{1}{2}_data_return_errors_and_warnings_{3}.csv", scheme.ApprovalNo, dataReturn.Year, dataReturn.Quarter, DateTime.Now.ToString("ddMMyyyy_HHmm")); byte[] fileContent = Encoding.UTF8.GetBytes(csv); return(File(fileContent, "text/csv", CsvFilenameFormat.FormatFileName(filename))); }
public async Task <ActionResult> DownloadCsv(Guid schemeId, int year, Guid memberUploadId, DateTime submissionDateTime) { using (var client = apiClient()) { IEnumerable <ErrorData> errors = (await client.SendAsync(User.GetAccessToken(), new GetMemberUploadData(schemeId, memberUploadId))) .OrderByDescending(e => e.ErrorLevel); var csvWriter = csvWriterFactory.Create <ErrorData>(); csvWriter.DefineColumn("Description", e => e.Description); var schemePublicInfo = await cache.FetchSchemePublicInfo(schemeId); var csvFileName = $"{schemePublicInfo.ApprovalNo}_memberregistration_{year}_warnings_{submissionDateTime.ToString("ddMMyyyy_HHmm")}.csv"; var csv = csvWriter.Write(errors); var fileContent = new UTF8Encoding().GetBytes(csv); return(File(fileContent, "text/csv", CsvFilenameFormat.FormatFileName(csvFileName))); } }
public async Task <ActionResult> DownloadErrorsAndWarnings(Guid pcsId, Guid memberUploadId) { using (var client = apiClient()) { IEnumerable <ErrorData> errors = (await client.SendAsync(User.GetAccessToken(), new GetMemberUploadData(pcsId, memberUploadId))) .OrderByDescending(e => e.ErrorLevel); var schemePublicInfo = await cache.FetchSchemePublicInfo(pcsId); CsvWriter <ErrorData> csvWriter = csvWriterFactory.Create <ErrorData>(); csvWriter.DefineColumn("Type", e => (int)e.ErrorLevel >= 5 ? "Error" : "Warning"); csvWriter.DefineColumn("Description", e => e.Description); string csv = csvWriter.Write(errors); var csvFilename = string.Format("{0}_memberregistration_errors_warnings_{1}.csv", schemePublicInfo.ApprovalNo, DateTime.Now.ToString("ddMMyyyy_HHmm")); byte[] fileContent = new UTF8Encoding().GetBytes(csv); return(File(fileContent, "text/csv", CsvFilenameFormat.FormatFileName(csvFilename))); } }