Beispiel #1
0
        private static X9_DepositFile depositFile;  //Singleton
        #endregion

        public X9_DepositFile()
        {
            deposits = new List <X9_Deposit>();
            #if DEBUG
            fileHeader = new FileHeaderRecord('T', 'N', "044000037");
            #else
            fileHeader = new FileControlRecord('P', 'N', "044000037");
            #endif
            records = new Dictionary <FileHeaderRecord, FileControlRecord>();

            fileHeader  = new FileHeaderRecord('T', 'N', "044000037");
            fileControl = new FileControlRecord(1, 14, 0, 0);
            addRecords();
        }
        public static ItemAcknowledgement FromString(StreamReader reader)
        {
            var result = new ItemAcknowledgement();

            // first line should be header record
            var line = reader.ReadLine();

            if (line == null || line.Substring(0, 2) != ItemRecordTypes.FileHeaderRecord)
            {
                throw new ArgumentException("stream bad format");
            }

            result.Header = FileHeaderRecord.FromString(line);

            while ((line = reader.ReadLine()) != null)
            {
                var type = line.Substring(0, 2);

                if (type == ItemRecordTypes.CashLetterHeaderRecord)
                {
                    result.CashLetters.Add(new CashLetterRecord());

                    var header = CashLetterHeaderRecord.FromString(line);
                    result.CashLetters.Last().Header = header;
                }
                else if (type == ItemRecordTypes.ItemDetailRecord)
                {
                    var item = ItemDetailRecord.FromString(line);
                    result.CashLetters.Last().Details.Add(item);
                }
                else if (type == ItemRecordTypes.ItemDetailAddendumRecord)
                {
                    var addendum = ItemDetailAddendumRecord.FromString(line);
                    result.CashLetters.Last().Details.Last().Addendums.Add(addendum);
                }
                else if (type == ItemRecordTypes.CashLetterControlRecord)
                {
                    var control = CashLetterControlRecord.FromString(line);
                    result.CashLetters.Last().Control = control;
                }
                else if (type == ItemRecordTypes.FileControlRecord)
                {
                    result.Control = FileControlRecord.FromString(line);
                }
            }

            return(result);
        }
Beispiel #3
0
        public static ReceiptAcknowledgement FromString(StreamReader reader)
        {
            var result = new ReceiptAcknowledgement();

            // first line should be header record
            var line = reader.ReadLine();

            if (line == null || line.Substring(0, 2) != ReceiptRecordTypes.FileHeaderRecord)
            {
                throw new ArgumentException("stream bad format");
            }

            result.Header = FileHeaderRecord.FromString(line);

            while ((line = reader.ReadLine()) != null)
            {
                var type = line.Substring(0, 2);

                if (type == ReceiptRecordTypes.FileDetailRecord)
                {
                    var detail = FileDetailRecord.FromString(line);
                    result.Details.Add(detail);
                }
                else if (type == ReceiptRecordTypes.FileDetailAddendumRecord)
                {
                    var addendum = FileDetailAddendumRecord.FromString(line);
                    // reference last added detail record
                    result.Details.Last().Addendums.Add(addendum);
                }
                else if (type == ReceiptRecordTypes.FileControlRecord)
                {
                    result.Control = FileControlRecord.FromString(line);
                }
            }

            return(result);
        }
Beispiel #4
0
 public NachaFile()
 {
     Batches     = new List <BatchRecord>();
     FileHeader  = new FileHeaderRecord();
     FileControl = new FileControlRecord();
 }