public virtual FileContentResult DownloadAllAsCsv() { var users = userRepository.GetAllActiveUsers().OrderBy(x => x.FileByName()); var reportGenerator = new CsvReportGenerator(new PersonnelFileReport(users)); var bytes = reportGenerator.GenerateReport(); return(File(bytes, "text/csv", "PersonnelRecords(" + DateTime.Now.ToString("MM-dd-yy") + ").csv")); }
public void TestGenerate() { string reportFile = string.Format(ReportFileTemplate, Guid.NewGuid()); if (File.Exists(reportFile)) { File.Delete(reportFile); } ILoggerFactory loggerFactory = new LoggerFactory(); IReportGenerator generator = new CsvReportGenerator(loggerFactory, TestCsvTemplate, CommaSeparator, reportFile); object[] parameters = {}; DbData data = TestData.GetSampleData(); Task <int> generatorTask = generator.GenerateAsync(data, parameters); generatorTask.Wait(); int result = generatorTask.Result; Assert.True(result > 0); Assert.True(File.Exists(reportFile)); IList <string> header = File.ReadAllLines(TestCsvTemplate).ToList(); IList <string> actualLines = File.ReadAllLines(reportFile).ToList(); IList <string> expectedLines = TestData.GetCsvSampleData(header, CommaSeparator); Assert.Equal(expectedLines.Count, actualLines.Count); for (int i = 0; i < expectedLines.Count; i++) { Assert.Equal(expectedLines[i], actualLines[i]); } if (File.Exists(reportFile)) { File.Delete(reportFile); } }
public async Task GenerateReport(List <QueryExecutionResult> runData) { var generator = new CsvReportGenerator(Logger, Settings.QueryDefinitions.First().OutputConfig); await generator.GenerateReport(runData); }