Exemplo n.º 1
0
        private void WriteFileControlFillerRecords()
        {
            if (Configuration.BlockingFactor <= 0)
            {
                return;
            }

            uint remain = _runningStatObject.TotalNoOfRecord % Configuration.BlockingFactor;

            if (remain <= 0)
            {
                return;
            }

            ChoNACHAFileControlRecord NACHAFileControlFillerRecord = ChoActivator.CreateInstanceAndInit <ChoNACHAFileControlRecord>();

            NACHAFileControlFillerRecord.BatchCount                   = 999999;
            NACHAFileControlFillerRecord.BlockCount                   = 999999;
            NACHAFileControlFillerRecord.EntryAddendaCount            = 99999999;
            NACHAFileControlFillerRecord.EntryHash                    = 9999999999;
            NACHAFileControlFillerRecord.TotalDebitEntryDollarAmount  = 9999999999.99M;
            NACHAFileControlFillerRecord.TotalCreditEntryDollarAmount = 9999999999.99M;
            NACHAFileControlFillerRecord.Reserved = ChoString.Repeat("9", 39);

            for (int i = 0; i < Configuration.BlockingFactor - remain; i++)
            {
                _writer.Write(NACHAFileControlFillerRecord);
            }
        }
Exemplo n.º 2
0
        private void Init()
        {
            _writer = new ChoManifoldWriter(_streamWriter, Configuration as ChoManifoldRecordConfiguration).WithRecordSelector(0, 1, typeof(ChoNACHABatchHeaderRecord), typeof(ChoNACHABatchControlRecord),
                                                                                                                               typeof(ChoNACHAFileHeaderRecord), typeof(ChoNACHAFileControlRecord), typeof(ChoNACHAEntryDetailRecord), typeof(ChoNACHAAddendaRecord));
            _writer.Configuration.ObjectValidationMode = ChoObjectValidationMode.ObjectLevel;

            WriteFileHeader();
            _fileControlRecord = ChoActivator.CreateInstanceAndInit <ChoNACHAFileControlRecord>();
        }
Exemplo n.º 3
0
        private void Init()
        {
            _writer = new ChoManifoldWriter(_textWriter, Configuration as ChoManifoldRecordConfiguration).WithRecordSelector(0, 1, typeof(ChoNACHABatchHeaderRecord), typeof(ChoNACHABatchControlRecord),
                                                                                                                             typeof(ChoNACHAFileHeaderRecord), typeof(ChoNACHAFileControlRecord), typeof(ChoNACHAEntryDetailRecord), typeof(ChoNACHAAddendaRecord));
            _writer.Configuration.ObjectValidationMode = ChoObjectValidationMode.ObjectLevel;

            _headerInitializer = new Lazy <object>(() =>
            {
                WriteFileHeader();
                _fileControlRecord = ChoActivator.CreateInstanceAndInit <ChoNACHAFileControlRecord>();
                return(null);
            });
        }
Exemplo n.º 4
0
        private void WriteFileHeader()
        {
            ChoNACHAFileHeaderRecord header = ChoActivator.CreateInstanceAndInit <ChoNACHAFileHeaderRecord>();

            header.PriorityCode             = Configuration.PriorityCode;
            header.ImmediateDestination     = Configuration.DestinationBankRoutingNumber;
            header.ImmediateOrigin          = Configuration.OriginatingCompanyId;
            header.FileIDModifier           = Configuration.FileIDModifier;
            header.BlockingFactor           = Configuration.BlockingFactor;
            header.FormatCode               = Configuration.FormatCode;
            header.ImmediateDestinationName = Configuration.DestinationBankName;
            header.ImmediateOriginName      = Configuration.OriginatingCompanyName;
            header.ReferenceCode            = Configuration.ReferenceCode;

            _writer.Write(header);
        }
        public void CreateAddendaRecord(string paymentRelatedInformation, uint addendaTypeCode = 5)
        {
            CheckDisposed();

            _NACHAEntryDetailRecord.AddendaRecordIndicator = true;

            var x = _entryDetailWriter.Value;

            ChoNACHAAddendaRecord addendaRecord = ChoActivator.CreateInstanceAndInit <ChoNACHAAddendaRecord>();

            addendaRecord.AddendaTypeCode           = addendaTypeCode;
            addendaRecord.PaymentRelatedInformation = paymentRelatedInformation;
            addendaRecord.AddendaSequenceNumber     = ++_addendaSeqNo;
            addendaRecord.EntryDetailSequenceNumber = ulong.Parse(TraceNumber.ToString().Last(7));

            _batchRunningStatObject.UpdateStat(addendaRecord);

            _writer.Write(addendaRecord);
        }