コード例 #1
0
        //public bool Export(Guid id, PriceImportLogStatus pilStatus, string path)
        //{
        //    DeleteExportFile(path);
        //    PriceImport pi = GetById(id);

        //    // TODO: Convert to MemoryStream.
        //    // TODO: Move hardcoded to translation file
        //    List<int> lst = GetIndexsForExport(id, pilStatus);

        //    DelimitedClassBuilder cb = CreateClassBuilder(pi.SeparationChar, pi.HaveHeader);
        //    FileHelperEngine engine = new FileHelperEngine(cb.CreateRecordClass());
        //    object[] items = engine.ReadFile(path + pi.ID + ".csv");
        //    object[] erroritems = new object[lst.Count];
        //    int i = 0;
        //    foreach (int error in lst)
        //    {
        //        erroritems[i] = items[error];
        //        i++;
        //    }
        //    engine.WriteFile(path + Resource.Business.GetString("ExportFile"), erroritems);


        //    return true;
        //}

        public MemoryStream Export(Guid id, PriceImportLogStatus pilStatus, string path)
        {
            PriceImport pi = GetById(id);

            List <int> lst = GetIndexsForExport(id, pilStatus);

            DelimitedClassBuilder cb     = CreateClassBuilder(pi.SeparationChar, pi.HaveHeader);
            FileHelperEngine      engine = new FileHelperEngine(cb.CreateRecordClass());

            object[] items      = engine.ReadFile(path + pi.ID + ".csv");
            object[] erroritems = new object[lst.Count];
            int      i          = 0;

            foreach (int error in lst)
            {
                erroritems[i] = items[error];
                i++;
            }

            MemoryStream stream = new MemoryStream();
            StreamWriter sw     = new StreamWriter(stream);

            engine.WriteStream(sw, erroritems);

            return(stream);
        }
コード例 #2
0
        public void WriteOperationShouldBeQuick()
        {
            var sampleRecords = GetRecords();

            Benchmark.This("FileHelperEngine.WriteStream", () =>
            {
                var engine = new FileHelperEngine <FixedSampleRecord>();
                using (var stream = new MemoryStream())
                    using (var streamWriter = new StreamWriter(stream))
                    {
                        engine.WriteStream(streamWriter, sampleRecords);
                    }
            })
            .Against.This("FlatFileEngine.Write", () =>
            {
                var layout = new FixedSampleRecordLayout();
                using (var stream = new MemoryStream())
                {
                    var factory = new FixedLengthFileEngineFactory();

                    var flatFile = factory.GetEngine(layout);

                    flatFile.Write(stream, sampleRecords);
                }
            })
            .WithWarmup(1000)
            .For(10000)
            .Iterations()
            .PrintComparison();
        }
コード例 #3
0
        public void WriteOperationShouldBeQuick()
        {
            var sampleRecords = GetRecords();

            Benchmark.This("FileHelperEngine.WriteStream", () =>
            {
                var engine = new FileHelperEngine<FixedSampleRecord>();
                using (var stream = new MemoryStream())
                using (var streamWriter = new StreamWriter(stream))
                {
                    engine.WriteStream(streamWriter, sampleRecords);
                }
            })
                .Against.This("FlatFileEngine.Write", () =>
                {
                    var layout = new FixedSampleRecordLayout();
                    using (var stream = new MemoryStream())
                    {
                        var factory = new FixedLengthFileEngineFactory();

                        var flatFile = factory.GetEngine(layout);

                        flatFile.Write(stream, sampleRecords);
                    }
                })
                .WithWarmup(1000)
                .For(10000)
                .Iterations()
                .PrintComparison();
        }
コード例 #4
0
		public void WriteStream()
		{
			engine = new FileHelperEngine(typeof (SampleType));

			SampleType[] res = new SampleType[2];

			res[0] = new SampleType();
			res[1] = new SampleType();

			res[0].Field1 = DateTime.Now.AddDays(1);
			res[0].Field2 = "je";
			res[0].Field3 = 0;

			res[1].Field1 = DateTime.Now;
			res[1].Field2 = "ho";
			res[1].Field3 = 2;

			StringBuilder sb = new StringBuilder();
			StringWriter writer = new StringWriter(sb);
			engine.WriteStream(writer, res, 1);

			Assert.AreEqual(14 + 2, sb.ToString().Length);
			Assert.AreEqual(sb.ToString(0, 8), DateTime.Now.AddDays(1).ToString("ddMMyyyy"));

		}
コード例 #5
0
ファイル: CsvStatusEtl.cs プロジェクト: dneigler/Status-Again
 public void ExportStatus(TextWriter file, IList<StatusReport> reports)
 {
     var engine = new FileHelperEngine<StatusCsvItem>();
     var items = new List<StatusCsvItem>();
     // convert reports to items
     engine.WriteStream(file, items);
 }
コード例 #6
0
ファイル: Writers.cs プロジェクト: ywscr/FileHelpers
        public void WriteStream()
        {
            var engine = new FileHelperEngine <SampleType>();

            var res = new SampleType[2];

            res[0] = new SampleType();
            res[1] = new SampleType();

            res[0].Field1 = DateTime.Now.AddDays(1);
            res[0].Field2 = "je";
            res[0].Field3 = 0;

            res[1].Field1 = DateTime.Now;
            res[1].Field2 = "ho";
            res[1].Field3 = 2;

            var sb     = new StringBuilder();
            var writer = new StringWriter(sb);

            engine.WriteStream(writer, res);

            Assert.AreEqual(14 + newLineLen + 14 + newLineLen, sb.ToString().Length);
            Assert.AreEqual(sb.ToString(0, 8), DateTime.Now.AddDays(1).ToString("ddMMyyyy"));
        }
コード例 #7
0
        public void NullWriter()
        {
            var engine = new FileHelperEngine <SampleType>();

            Assert.Throws <ArgumentNullException>(()
                                                  => engine.WriteStream(null, null));
        }
コード例 #8
0
        public void WriteStream()
        {
            engine = new FileHelperEngine(typeof(SampleType));

            SampleType[] res = new SampleType[2];

            res[0] = new SampleType();
            res[1] = new SampleType();

            res[0].Field1 = DateTime.Now.AddDays(1);
            res[0].Field2 = "je";
            res[0].Field3 = 0;

            res[1].Field1 = DateTime.Now;
            res[1].Field2 = "ho";
            res[1].Field3 = 2;

            StringBuilder sb     = new StringBuilder();
            StringWriter  writer = new StringWriter(sb);

            engine.WriteStream(writer, res, 1);

            Assert.AreEqual(14 + 2, sb.ToString().Length);
            Assert.AreEqual(sb.ToString(0, 8), DateTime.Now.AddDays(1).ToString("ddMMyyyy"));
        }
コード例 #9
0
        public void BigDataWriteOperationShouldBeQuick()
        {
            var genarator = new FakeGenarator();

            var sampleRecords = Enumerable.Range(0, 100000).Select(genarator.Generate).ToArray();

            Benchmark.This("FileHelperEngine.WriteStream", () =>
            {
                var engine = new FileHelperEngine<FixedSampleRecord>();
                using (var stream = new MemoryStream())
                using (var streamWriter = new StreamWriter(stream))
                {
                    engine.WriteStream(streamWriter, sampleRecords);
                }
            })
                .Against.This("FlatFileEngine.Write", () =>
                {
                    var layout = new FixedSampleRecordLayout();
                    using (var stream = new MemoryStream())
                    {
                        var factory = new FixedLengthFileEngineFactory();

                        var flatFile = factory.GetEngine(layout);

                        flatFile.Write(stream, sampleRecords);
                    }
                })
                .WithWarmup(10)
                .For(100)
                .Iterations()
                .PrintComparison();
        }
コード例 #10
0
 public void ExportAllocations(TextWriter file, IList<ResourceAllocation> reports)
 {
     var engine = new FileHelperEngine<ResourceAllocationCsvItem>();
     var items = new List<ResourceAllocationCsvItem>();
     // convert reports to items
     engine.WriteStream(file, items);
 }
コード例 #11
0
        public void NullRecords()
        {
            var engine = new FileHelperEngine <SampleType>();

            Assert.Throws <ArgumentNullException>(()
                                                  => engine.WriteStream(new StringWriter(new StringBuilder()), null));
        }
コード例 #12
0
        /// <summary>
        /// Extract records from the data source and insert them to the
        /// specified stream using the DataLinkProvider
        /// <see cref="DataLink.DataStorage.ExtractRecords"/> method.
        /// </summary>
        /// <param name="writer">The stream where the records be written.</param>
        /// <returns>The extracted records</returns>
        public object[] ExtractToStream(StreamWriter writer)
        {
            mLastExtractedRecords = mProvider.ExtractRecords();
            FileHelperEngine.WriteStream(writer, mLastExtractedRecords);

            return(mLastExtractedRecords);
        }
コード例 #13
0
        public void BigDataWriteOperationShouldBeQuick()
        {
            var genarator = new FakeGenarator();

            var sampleRecords = Enumerable.Range(0, 100000).Select(genarator.Generate).ToArray();

            Benchmark.This("FileHelperEngine.WriteStream", () =>
            {
                var engine = new FileHelperEngine <FixedSampleRecord>();
                using (var stream = new MemoryStream())
                    using (var streamWriter = new StreamWriter(stream))
                    {
                        engine.WriteStream(streamWriter, sampleRecords);
                    }
            })
            .Against.This("FlatFileEngine.Write", () =>
            {
                var layout = new FixedSampleRecordLayout();
                using (var stream = new MemoryStream())
                {
                    var factory = new FixedLengthFileEngineFactory();

                    var flatFile = factory.GetEngine(layout);

                    flatFile.Write(stream, sampleRecords);
                }
            })
            .WithWarmup(10)
            .For(100)
            .Iterations()
            .PrintComparison();
        }
コード例 #14
0
        public string GenerateSalesFile()
        {
            var sales = GetAllSales();

            if (sales == null || !sales.Any())
            {
                throw new HttpStatusException($"No hay ventas disponibles. Favor revisar la fuente de datos.",
                                              HttpStatusCode.Forbidden);
            }

            var    engine   = new FileHelperEngine <SalesFH>();
            string fileName = $"{Guid.NewGuid().ToString().Replace("-", string.Empty)}.pgp";

            using var stream       = new MemoryStream();
            using var streamWriter = new StreamWriter(stream);

            engine.WriteStream(streamWriter, sales);
            streamWriter.AutoFlush = true;
            stream.Position        = 0;
            using var streamReader = new StreamReader(stream);
            var encryptedFile = _pgpEncryptionService.EncryptStreamFile(streamReader);

            _sftpManagementService.SftpUploadFile(encryptedFile, fileName);


            return(fileName);
        }
コード例 #15
0
 public void FileHelpers()
 {
     using (var stream = new MemoryStream())
         using (var streamWriter = new StreamWriter(stream))
         {
             _helperEngine.WriteStream(streamWriter, _records);
         }
 }
コード例 #16
0
    public override void ExecuteResult(ControllerContext context)
    {
        var response = context.HttpContext.Response;

        response.ContentType = "text/csv";
        var engine = new FileHelperEngine(typeof(T));

        engine.WriteStream(response.Output, Records);
    }
コード例 #17
0
        private void FileHelperEngine()
        {
            var engine = new FileHelperEngine <FixedSampleRecord>();

            using (var stream = new MemoryStream())
                using (var streamWriter = new StreamWriter(stream))
                {
                    engine.WriteStream(streamWriter, sampleRecords);
                }
        }
コード例 #18
0
        private Destination[] CoreTransform(StreamReader sourceFile, StreamWriter destFile, Type sourceType, Type destType, MethodInfo method)
        {
            FileHelperEngine <Source>      sourceEngine = new FileHelperEngine <Source>(mSourceEncoding);
            FileHelperEngine <Destination> destEngine   = new FileHelperEngine <Destination>(mDestinationEncoding);

            Source[]      source      = sourceEngine.ReadStream(sourceFile);
            Destination[] transformed = CoreTransformRecords(source, method);
#endif

            destEngine.WriteStream(destFile, transformed);

            return(transformed);
        }
コード例 #19
0
        public static void Convert(Stream inputXmlStream, Stream outputEsrStream)
        {
            var entries    = ISO20022Parser.Parse(inputXmlStream);
            var esrRecords = entries.SelectMany(ConvertToEsrRecords).ToList();

            Console.WriteLine($"Es wurden {esrRecords.Count} Einträge gelesen");

            var engine = new FileHelperEngine <EsrRecord>();

            using (StreamWriter writer = new StreamWriter(outputEsrStream))
            {
                engine.WriteStream(writer, esrRecords);
            }
        }
コード例 #20
0
        public override void SubmitChanges(ConflictMode failureMode)
        {
            ApplyChanges(failureMode);

            using (Stream stream = _streamFactory.CreateInstance(StreamMode.Write))
            {
                using (StreamWriter streamWriter = new StreamWriter(stream))
                {
                    _fileHelperEngine.WriteStream(streamWriter, _dataSource);

                    streamWriter.Flush();
                }
            }
        }
コード例 #21
0
        public IActionResult GetAsCsv(string campaign, string enclave)
        {
            var engine = new FileHelperEngine <NPCToCsv>();
            var list   = GetEnclave(enclave, campaign).ToList();

            var filteredList = list.Select(n => new NPCToCsv()
            {
                Id = n.Id, Email = n.Email
            }).ToList();

            var        stream       = new MemoryStream();
            TextWriter streamWriter = new StreamWriter(stream);

            engine.WriteStream(streamWriter, filteredList);
            streamWriter.Flush();
            stream.Seek(0, SeekOrigin.Begin);

            return(File(stream, "text/csv", $"{Guid.NewGuid()}.csv"));
        }
コード例 #22
0
        public async Task <IActionResult> GetAsCsv()
        {
            var engine = new FileHelperEngine <NPCToInsiderThreatCsv>();

            engine.HeaderText = engine.GetFileHeader();

            var list = await _mongo.FindAsync(x => true);

            var finalList = NPCToInsiderThreatCsv.ConvertToCsv(list.ToList());

            var        stream       = new MemoryStream();
            TextWriter streamWriter = new StreamWriter(stream);

            engine.WriteStream(streamWriter, finalList);
            await streamWriter.FlushAsync();

            stream.Seek(0, SeekOrigin.Begin);

            return(File(stream, "text/csv", $"insider_threat_{Guid.NewGuid()}.csv"));
        }
コード例 #23
0
        public void ExportToAxapta <T>(IEnumerable <T> listOfDatCol, SaveTo saveTo, string fileName)
        {
            var ofDatCol = listOfDatCol as IList <T> ?? listOfDatCol.ToList();

            if (!ofDatCol.Any())
            {
                return;
            }

            using (Stream memoryStream = new MemoryStream())
                using (var streamWriter = new StreamWriter(memoryStream))
                {
                    var engine = new FileHelperEngine(typeof(T));
                    engine.WriteStream(streamWriter, ofDatCol.ToList());

                    streamWriter.Flush();

                    var ftpManager = GetFtpManager(saveTo);
                    ftpManager.Upload(memoryStream.Reset(), fileName);
                }
        }
コード例 #24
0
    protected void OnbtnExportClick(object sender, EventArgs e)
    {
        var students = retrieveStudents();
        if (students.Count < 1)
            return;

        List<StudentCSVImportItem> studentRows = students.Select(s => new StudentCSVImportItem()
                {
                    Classroom = s.ClassRoom,
                    FirstName = s.FirstName,
                    LastName = s.LastName
                }).ToList();

        studentRows.Insert(0, new StudentCSVImportItem() { FirstName = "First Name", LastName = "Last Name", Classroom = "Classroom" });
        FileHelperEngine<StudentCSVImportItem> engine = new FileHelperEngine<StudentCSVImportItem>();
        MemoryStream stream = new MemoryStream();
        TextWriter writer = new StreamWriter(stream);
        engine.WriteStream(writer, studentRows);
        writer.Close();

        HttpResponse response = Response;

        //Get data to output here...

        //Turn off Caching and enforce a content type that will prompt to download/save.
        response.AddHeader("Connection", "close");
        response.AddHeader("Cache-Control", "private");
        response.ContentType = "application/octect-stream";

        //Give the browser a hint at the name of the file.
        response.AddHeader("content-disposition", "attachment; filename=export.csv");

        response.BinaryWrite(stream.GetBuffer());

        response.Flush();
        response.Close();
    }
コード例 #25
0
ファイル: Writers.cs プロジェクト: calebillman/FileHelpers
        public void WriteStream()
        {
            var engine = new FileHelperEngine<SampleType>();

            var res = new SampleType[2];

            res[0] = new SampleType();
            res[1] = new SampleType();

            res[0].Field1 = DateTime.Now.AddDays(1);
            res[0].Field2 = "je";
            res[0].Field3 = 0;

            res[1].Field1 = DateTime.Now;
            res[1].Field2 = "ho";
            res[1].Field3 = 2;

            var sb = new StringBuilder();
            var writer = new StringWriter(sb);
            engine.WriteStream(writer, res);

            Assert.AreEqual(14 + newLineLen + 14 + newLineLen, sb.ToString().Length);
            Assert.AreEqual(sb.ToString(0, 8), DateTime.Now.AddDays(1).ToString("ddMMyyyy"));
        }
コード例 #26
0
ファイル: OtherErrors.cs プロジェクト: BD-GitHub/filehelpers
		public void NullWriter()
		{
			engine = new FileHelperEngine(typeof (SampleType));
			engine.WriteStream(null, null);
		}
コード例 #27
0
ファイル: Program.cs プロジェクト: JamieS/EzShopifyDiscounts
        /// <summary>
        /// Helper method to read discounts
        /// </summary>
        private static void ReadDiscounts(AuthInfo authInfo, string csvFile)
        {
            List<Discount> discounts = new List<Discount>();
            DiscountsWrapper.ReadDiscounts(authInfo, discounts);

            Console.WriteLine("Writing Discounts to file...");
            using (TextWriter writer = new StreamWriter(csvFile))
            {
                // Write file header
                writer.WriteLine(Discount.CsvFileHeader);

                // Write discounts
                FileHelperEngine fileHelper = new FileHelperEngine(typeof(Discount));
                fileHelper.WriteStream(writer, discounts);
            }
        }
コード例 #28
0
 public void ExportAllocations(TextWriter file, IList<ResourceAllocationCsvItem> items)
 {
     var engine = new FileHelperEngine<ResourceAllocationCsvItem>();
     engine.WriteStream(file, items);
 }
コード例 #29
0
        public bool WriteFile(string fileName, string devarOrgCode, FeederSystemFixedLengthRecord[] transactionsArray)
        {
            var success = false;
            using (var docStream = new MemoryStream())
            {
                using (var flatFileWriter = new StreamWriter(docStream, Encoding.ASCII))
                {
                    var fileWriterEngine = new FileHelperEngine(typeof(FeederSystemFixedLengthRecord));
                    fileWriterEngine.WriteStream(flatFileWriter, transactionsArray);

                    // Flush contents of fileWriterStream to underlying docStream:
                    flatFileWriter.Flush();

                    // Upload to SFTP server:
                    _sftpService.UploadStream(docStream, fileName, devarOrgCode); // Upload file to A&FS server.

                    // Save file to cloud:
                    _blobStorageService.PutBlob(docStream, fileName);
                    success = _blobStorageService.Exists(fileName);
                }

                return success;
            }
        }
コード例 #30
0
        public string GenerateOutPutFile(DateTime payrollDate)
        {
            var employees = _employeeService.GetAll("PayrollsSheet");

            if (employees == null || employees.Count() == 0)
            {
                throw new HttpStatusException($"No hay empleados disponibles. Favor revisar la fuente de datos.",
                                              HttpStatusCode.Forbidden);
            }

            var totalAmount = employees?.Sum(x => x.PayrollsSheet?
                                             .FirstOrDefault(p => p.PayrollDate.Date == payrollDate.Date)?.NetSalary);

            if (totalAmount == null || totalAmount < 1)
            {
                throw new HttpStatusException($"No hay nominas disponibles para la fecha indicada {payrollDate:dd/MM/yyyy}",
                                              HttpStatusCode.Forbidden);
            }

            var payrollHeader = new List <EmployeePayrollHeader>()
            {
                new EmployeePayrollHeader()
                {
                    CompanyRnc          = "401005107",
                    PayrollPaymentDay   = $"{payrollDate.Date:dd/MM/yyyy}",
                    RowsQuantity        = employees.Count().ToString(),
                    SourceAccountNumber = "11112681455",
                    TotalAmount         = totalAmount.ToString(),
                    TransmissionDate    = $"{DateTime.Now:dd/MM/yyyy}"
                }
            };

            var fhEngineHeader = new FileHelperEngine <EmployeePayrollHeader>();

            var fhEngineDetails = new FileHelperEngine <EmployeePayrollDetail>()
            {
                Encoding   = new UTF8Encoding(false),
                HeaderText = fhEngineHeader.WriteString(payrollHeader)
            };

            List <EmployeePayrollDetail> payrollList = new List <EmployeePayrollDetail>();

            employees.ToList().ForEach(item =>
            {
                var payroll = item.PayrollsSheet.FirstOrDefault(x => x.PayrollDate.Date == payrollDate.Date);
                if (payroll != null)
                {
                    var employeePayroll = new EmployeePayrollDetail()
                    {
                        NetIncome      = payroll.NetSalary.ToString(),
                        AccountNumber  = item.AccountNumber,
                        DocumentNumber = item.DocumentNumber
                    };
                    payrollList.Add(employeePayroll);
                }
            });

            string fileName = $"Nomina{payrollDate.Date.ToShortDateString()}.txt".Replace("/", string.Empty);

            using (var stream = new MemoryStream())
                using (var streamWriter = new StreamWriter(stream))
                {
                    fhEngineDetails.WriteStream(streamWriter, payrollList);
                    streamWriter.AutoFlush = true;
                    stream.Position        = 0;

                    using (var fileStream = new FileStream($"{AppDomain.CurrentDomain.BaseDirectory}\\App_Data\\{fileName}", FileMode.Create, FileAccess.Write))
                    {
                        stream.CopyTo(fileStream);
                    }
                }
            return(fileName);
        }
コード例 #31
0
ファイル: CsvStatusEtl.cs プロジェクト: dneigler/Status-Again
 public void ExportStatus(TextWriter file, IList<StatusCsvItem> items)
 {
     var engine = new FileHelperEngine<StatusCsvItem>();
     engine.WriteStream(file, items);
 }
コード例 #32
0
ファイル: OtherErrors.cs プロジェクト: hoffmanc/FileHelpers
 public void NullRecords()
 {
     engine = new FileHelperEngine(typeof (SampleType));
     Assert.Throws<ArgumentNullException>(()
         => engine.WriteStream(new StringWriter(new StringBuilder()), null));
 }
コード例 #33
0
ファイル: OtherErrors.cs プロジェクト: hoffmanc/FileHelpers
 public void NullWriter()
 {
     engine = new FileHelperEngine(typeof (SampleType));
     Assert.Throws<ArgumentNullException>(()
         => engine.WriteStream(null, null));
 }
コード例 #34
0
ファイル: OtherErrors.cs プロジェクト: BD-GitHub/filehelpers
		public void NullRecords()
		{
			engine = new FileHelperEngine(typeof (SampleType));
			engine.WriteStream(new StringWriter(new StringBuilder()), null);
		}
コード例 #35
0
ファイル: OtherErrors.cs プロジェクト: cuongdodinh/timok.rbr
 public void NullWriter()
 {
     engine = new FileHelperEngine(typeof(SampleType));
     engine.WriteStream(null, null);
 }
コード例 #36
0
ファイル: OtherErrors.cs プロジェクト: cuongdodinh/timok.rbr
 public void NullRecords()
 {
     engine = new FileHelperEngine(typeof(SampleType));
     engine.WriteStream(new StringWriter(new StringBuilder()), null);
 }