public bool GenerateCsv <T>(string csvFilePath, CSVExporter <T> exporter, IEnumerable <T> modelData, string filterCriteria = "", bool skipHeader = false) { var csvStringBuilder = new StringBuilder(); var sanitizer = new CSVSanitizer(); if (!string.IsNullOrEmpty(filterCriteria)) { csvStringBuilder.Append(sanitizer.EscapeString(filterCriteria) + Environment.NewLine + Environment.NewLine); } if (!skipHeader) { csvStringBuilder.Append(exporter.Header + Environment.NewLine); } foreach (string line in exporter.ExportObjects(modelData)) { csvStringBuilder.Append(line + Environment.NewLine); } var request = new GenericReportRequest { Model = csvStringBuilder.ToString(), CsvFilePath = csvFilePath }; var isGenerated = _baseReportService.GetResponse(request, skipHeader); return(isGenerated); }
private string WriteCsv <T>(string fileName, CSVExporter <T> exporter, IEnumerable <T> modelData, string queue, string channel) { var csvFilePath = _tempMediaLocation.PhysicalPath + fileName; //using (var streamWriter = new StreamWriter(csvFilePath, false)) //{ var csvStringBuilder = new StringBuilder(); csvStringBuilder.Append(exporter.Header + Environment.NewLine); foreach (string line in exporter.ExportObjects(modelData)) { csvStringBuilder.Append(line + Environment.NewLine); } // streamWriter.Close(); //} var request = new GenericReportRequest { Model = csvStringBuilder.ToString(), CsvFilePath = csvFilePath }; var isGenerated = GetResponse(request, queue, channel); if (!isGenerated) { return("CSV File Export failed!"); } DownloadZipFile(_tempMediaLocation, fileName); return("CSV File Export was succesful!"); }
public StringBuilder GetPatientScheduledReport(IEnumerable <EventCustomerScheduleModel> modelData, CSVExporter <CustomerScheduleModel> exporter) { long[] eventIds = modelData.Select(m => m.EventId).Distinct().ToArray(); var csvStringBuilder = new StringBuilder(); foreach (var eventId in eventIds) { csvStringBuilder.Append( "/***********************************************************************************/" + Environment.NewLine); var eventData = modelData.Where(m => m.EventId == eventId).FirstOrDefault(); var customerData = modelData.Where(m => m.EventId == eventId).SelectMany(m => m.Customers); csvStringBuilder.Append("EventId:" + eventData.EventId + ", EventDate: " + eventData.EventDate.Date + ", Location:" + eventData.Location); csvStringBuilder.Append(", Address: " + eventData.Address.StreetAddressLine1 + " " + eventData.Address.StreetAddressLine2 + " " + eventData.Address.City + " " + eventData.Address.State + " - " + eventData.Address.ZipCode.Zip + ", Pod: " + eventData.Vehicle + Environment.NewLine); csvStringBuilder.Append(exporter.Header + Environment.NewLine); foreach (string line in exporter.ExportObjects(customerData)) { csvStringBuilder.Append(line + Environment.NewLine); } csvStringBuilder.Append(Environment.NewLine); csvStringBuilder.Append(Environment.NewLine); } return(csvStringBuilder); }
private void WriteCsv <T>(string fileName, CSVExporter <T> exporter, IEnumerable <T> modelData) { var csvStringBuilder = new StringBuilder(); csvStringBuilder.Append(exporter.Header + Environment.NewLine); foreach (string line in exporter.ExportObjects(modelData)) { csvStringBuilder.Append(line + Environment.NewLine); } System.IO.File.AppendAllText(fileName, csvStringBuilder.ToString()); }
public void CSVExporterReturnsExpectedNumberOfLines() { var myObjs = new List <TestType> { new TestType { Name = "Alice", Age = 22 }, new TestType { Name = "Bob", Age = 35 }, }; int count = _csvExporter.ExportObjects(myObjs).Count(); Assert.AreEqual(myObjs.Count, count); }