private FileStreamResult GetCSVData(List <DfcMigrationReport> dfcMigrationReports) { var csvReports = new List <CsvDfcMigrationReport>(); csvReports = dfcMigrationReports.Select(x => new CsvDfcMigrationReport { Errors = x.MigrationPendingCount, FailedMigrationCount = x.FailedMigrationCount, LiveCount = x.LiveCount, MigratedCount = x.MigratedCount, MigrationDate = x.MigrationDate.HasValue ? x.MigrationDate.Value.ToString("dd/MM/yyyy") : string.Empty, MigrationPendingCount = x.MigrationPendingCount, MigrationRate = x.MigrationRate, ProviderName = x.ProviderName, ProviderType = x.ProviderType, UKPRN = x.ProviderUKPRN, CreatedBy = x.CreatedBy, CreatedOn = x.CreatedOn, }).ToList(); List <string> csvLines = new List <string>(); foreach (var line in _CSVHelper.ToCsv(csvReports)) { csvLines.Add(line); } string report = string.Join(Environment.NewLine, csvLines); byte[] data = Encoding.ASCII.GetBytes(report); MemoryStream ms = new MemoryStream(data) { Position = 0 }; FileStreamResult result = new FileStreamResult(ms, MediaTypeNames.Text.Plain); return(result); }
private FileStreamResult CsvApprenticeshipsToFileStream(IEnumerable <CsvApprenticeship> csvApprenticeships, string providerName) { var report = string.Join(Environment.NewLine, _CSVHelper.ToCsv(csvApprenticeships)); var ms = new MemoryStream(Encoding.ASCII.GetBytes(report)) { Position = 0 }; var now = DateTime.Now; return(new FileStreamResult(ms, MediaTypeNames.Text.Plain) { FileDownloadName = $"{providerName}_Apprenticeships_{now.Day:00}_{now.Month:00}_{now.Year}_{now.Hour:00}_{now.Minute:00}.csv" }); }
private FileStreamResult CsvCoursesToFileStream(IEnumerable <CsvCourse> csvCourses, string providerName) { List <string> csvLines = new List <string>(); foreach (var line in _CSVHelper.ToCsv(csvCourses)) { csvLines.Add(line); } string report = string.Join(Environment.NewLine, csvLines); byte[] data = Encoding.ASCII.GetBytes(report); MemoryStream ms = new MemoryStream(data) { Position = 0 }; FileStreamResult result = new FileStreamResult(ms, MediaTypeNames.Text.Plain); DateTime d = DateTime.Now; result.FileDownloadName = $"{providerName}_Courses_{d.Day:00}_{d.Month:00}_{d.Year}_{d.Hour:00}_{d.Minute:00}.csv"; return(result); }