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); } }
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>(); }
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); }); }
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); }