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"));
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
 public async Task GenerateReport(List <QueryExecutionResult> runData)
 {
     var generator = new CsvReportGenerator(Logger, Settings.QueryDefinitions.First().OutputConfig);
     await generator.GenerateReport(runData);
 }