Example #1
0
        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)));
        }
Example #2
0
        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)));
            }
        }
Example #3
0
        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)));
            }
        }