Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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);
        }