Exemplo n.º 1
0
        static void Main()
        {
            var parser = new BaiParser();
            var currentProjectDirectory = GetParentDirectoryByLevel(Environment.CurrentDirectory, 3);

            string fileName = Path.Combine(currentProjectDirectory, "BAI-sample.txt");

            using var stream = System.IO.File.OpenRead(fileName);
            var bai   = parser.Parse(stream);
            var trans = BaiTranslator.Translate(bai);

            var summary = BaiTranslator.GetSummaryInformation(trans);

            Console.WriteLine("Summary Count: " + summary.Count);

            var dictionaryKeys = new List <string> {
                "PREAUTHORIZED ACH FROM", "ORIGINATOR ID", "ENTRY DESCRIPTION",
                "PAYMENT ID", "RECEIVER INFORMATION", "ADDENDA INFORMATION"
            };

            var detail           = BaiTranslator.GetDetailInformation(trans, dictionaryKeys);
            var detailDictionary = detail.Where(p => p.TextDictionary.Count > 0).ToList();

            Console.WriteLine("Detail Count: " + detail.Count);
            Console.WriteLine("Detail with Dictionary: " + detailDictionary.Count);

            // Verify that the parser works - do a diff with the imput file
            parser.Write(fileName + ".new", bai);

            // Dump to CSV?
            //detail.CsvFieldSeparator('|');
            // Set the prefix
            //detail.CsvFieldPrefix('[');
            // different than the postfix
            //detail.CsvFieldPostfix(']');
            // or set them to the same
            //detail.CsvFieldPrefixPostfix('"');
            // or turn them all off
            //detail.CsvDisablePrefixPostFix();
            var csv = detail.ExportToCsv(dictionaryKeys);

            // you can even just export a single column if you want
            //var csv = detail.ExportToCsv(null, new List<string> { "FileIdentificationNumber" });
            // It can be just a dictionary key
            //var csv = detail.ExportToCsv(new List<string>{"PAYMENT ID"}, new List<string>());
            File.WriteAllText(@"BAI-sample.csv", csv);
        }
Exemplo n.º 2
0
        static void Main()
        {
            var parser = new BaiParser();

            const string fileName = @"BAI-sample.txt";
            var bai = parser.Parse(fileName);
            var trans = BaiTranslator.Translate(bai);

            var summary = BaiTranslator.GetSummaryInformation(trans);
            Console.WriteLine("Summary Count: " + summary.Count);

            var dictionaryKeys = new List<string> { "PREAUTHORIZED ACH FROM", "ORIGINATOR ID", "ENTRY DESCRIPTION",
                "PAYMENT ID", "RECEIVER INFORMATION", "ADDENDA INFORMATION" };

            var detail = BaiTranslator.GetDetailInformation(trans, dictionaryKeys);
            var detailDictionary = detail.Where(p => p.TextDictionary.Count > 0).ToList();
            Console.WriteLine("Detail Count: " + detail.Count);
            Console.WriteLine("Detail with Dictionary: " + detailDictionary.Count);

            // Verify that the parser works - do a diff with the imput file
            parser.Write(fileName + ".new", bai);

            // Dump to CSV?
            //detail.CsvFieldSeparator('|');
            // Set the prefix
            //detail.CsvFieldPrefix('[');
            // different than the postfix
            //detail.CsvFieldPostfix(']');
            // or set them to the same
            //detail.CsvFieldPrefixPostfix('"');
            // or turn them all off
            //detail.CsvDisablePrefixPostFix();
            var csv = detail.ExportToCsv(dictionaryKeys);

            // you can even just export a single column if you want
            //var csv = detail.ExportToCsv(null, new List<string> { "FileIdentificationNumber" });
            // It can be just a dictionary key
            //var csv = detail.ExportToCsv(new List<string>{"PAYMENT ID"}, new List<string>());
            File.WriteAllText(@"BAI-sample.csv", csv);
        }