예제 #1
0
        public R25(byte[] recordB)
        {
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB));

            if (_RecordContent == null)
            {
                throw new Exception("Record type 25 not valid - Invalid file.");
            }
            _AuxiliaryOnUs                    = new RText("Auxiliary OnUs", string.Empty, 3, 17, _RecordContent);
            _ExternalProcessingCode           = new RText("External Processing Code", string.Empty, 18, 18, _RecordContent);
            _PayorBankRoutingNumber           = new RText("Payor Bank Routing Number", string.Empty, 19, 26, _RecordContent);
            _PayorBankRoutingNumberCheckDigit = new RText("Payor Bank Routing Number Check Digit", string.Empty, 27, 27, _RecordContent);
            _OnUs       = new RText("OnUs", string.Empty, 28, 47, _RecordContent);
            _ItemAmount = new RText("Item Amount", string.Empty, 48, 57, _RecordContent);
            _ECEInstitutionItemSequenceNumber = new RText("ECE Institution Item Sequence Number", string.Empty, 58, 72, _RecordContent);
            _DocumentationTypeIndicator       = new RText("Documentation Type Indicator", string.Empty, 73, 73, _RecordContent);
            _ReturnAcceptanceIndicator        = new RText("Return Acceptance Indicator", string.Empty, 74, 74, _RecordContent);
            _MICRValidIndicator             = new RText("MICR Valid Indicator", string.Empty, 75, 75, _RecordContent);
            _BOFDIndicator                  = new RText("BOFD Indicator", string.Empty, 76, 76, _RecordContent);
            _CheckDetailRecordAddendumCount = new RText("Check Detail Record Addendum Count", string.Empty, 77, 78, _RecordContent);
            _CorrectionIndicator            = new RText("Correction Indicator", string.Empty, 79, 79, _RecordContent);
            _ArchiveTypeIndicator           = new RText("Archive Type Indicator", string.Empty, 80, 80, _RecordContent);
            _FrontImageDetail               = new R50();
            _FrontImage      = new R52();
            _BackImageDetail = new R50();
            _BackImage       = new R52();
            _AddendumAs      = new List <R26>();
            _AddendumCs      = new List <R28>();
        }
예제 #2
0
        public R10(byte[] recordB)
        {
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB));

            if (_RecordContent == null)
            {
                throw new Exception("Record type 10 not valid - Invalid file.");
            }
            _CollectionTypeIndicator              = new RText("Collection Type Indicator", "The only valid values are: '01' indicates Forward Presentment '03' indicates Return", 3, 4, _RecordContent);
            _DestinationRoutingNumber             = new RText("Destination Routing Number", "Must be a valid routing and transit number issued by the ABA’s Routing Number Registrar. The routing number shall be mod-checked with a valid check digit", 5, 13, _RecordContent);
            _ECEInstitutionRoutingNumber          = new RText("ECE Institution Routing Number", "Must be a valid routing and transit number issued by the ABA’s Routing Number Registrar. The routing number shall be mod-checked with a valid check digit", 14, 22, _RecordContent);
            _CashLetterBusinessDate               = new RText("Cash Letter Business Date", "Must be a valid date in YYYYMMDD format", 23, 30, _RecordContent);
            _CashLetterCreationDate               = new RText("Cash Letter Creation Date", "Must be a valid date in YYYYMMDD format. Eastern time zone shall be used.", 31, 38, _RecordContent);
            _CashLetterCreationTime               = new RText("Cash Letter Creation Time", "hhmm cash letter was created. Eastern time zone shall be used.", 39, 42, _RecordContent);
            _CashLetterRecordTypeIndicator        = new RText("Cash Letter Record Type Indicator", string.Empty, 43, 43, _RecordContent);
            _CashLetterDocumentationTypeIndicator = new RText("Cash Letter Documentation Type Indicator", string.Empty, 44, 44, _RecordContent);
            _CashLetterID                 = new RText("Cash Letter ID", string.Empty, 45, 52, _RecordContent);
            _OriginatorContactName        = new RText("Originator Contact Name", string.Empty, 53, 66, _RecordContent);
            _OriginatorContactPhoneNumber = new RText("Originator Contact Phone Number", string.Empty, 67, 76, _RecordContent);
            _FedWorkType      = new RText("Fed Work Type", string.Empty, 77, 77, _RecordContent);
            _ReturnsIndicator = new RText("Returns Indicator", string.Empty, 78, 78, _RecordContent);
            _UserField        = new RText("User Field", string.Empty, 79, 79, _RecordContent);
            _Reserved         = new RText("Reserved", string.Empty, 80, 80, _RecordContent);
            _Bundles          = new List <R20>();
        }
예제 #3
0
        public R52(byte[] recordB, int currentPOS, bool isFront)
        {
            //Adding record counter (4 bytes length) to current Position
            currentPOS += 4;
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB, 0, 105));

            _ECEInstitutionRoutingNumber      = new RText(string.Empty, string.Empty, 3, 11, _RecordContent);
            _BundleBusinessDate               = new RText(string.Empty, string.Empty, 12, 19, _RecordContent);
            _ECEInstitutionItemSequenceNumber = new RText(string.Empty, string.Empty, 22, 36, _RecordContent);
            _ClippingOrigin            = new RText(string.Empty, string.Empty, 85, 85, _RecordContent);
            _LengthofImageReferenceKey = new RText(string.Empty, string.Empty, 102, 105, _RecordContent);
            ParseImageValues(recordB, currentPOS, isFront);
        }
예제 #4
0
        public R26(byte[] recordB)
        {
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB));

            _RecordNumber                = new RText(string.Empty, string.Empty, 3, 3, _RecordContent);
            _BOFDRoutingNumber           = new RText(string.Empty, string.Empty, 4, 12, _RecordContent);
            _BOFDBusinessEndorsementDate = new RText(string.Empty, string.Empty, 13, 20, _RecordContent);
            _BOFDItemSequenceNumber      = new RText(string.Empty, string.Empty, 21, 35, _RecordContent);
            _DepositAccountNumberatBOFD  = new RText(string.Empty, string.Empty, 36, 73, _RecordContent);
            _BOFDDepositBranch           = new RText(string.Empty, string.Empty, 36, 73, _RecordContent);
            _PayeeName               = new RText(string.Empty, string.Empty, 36, 73, _RecordContent);
            _TruncationIndicator     = new RText(string.Empty, string.Empty, 74, 74, _RecordContent);
            _BOFDConversionIndicator = new RText(string.Empty, string.Empty, 75, 78, _RecordContent);
            _BOFDCorrectionIndicator = new RText(string.Empty, string.Empty, 75, 78, _RecordContent);
            _UserField               = new RText(string.Empty, string.Empty, 79, 79, _RecordContent);
            _Reserved = new RText(string.Empty, string.Empty, 80, 80, _RecordContent);
        }
예제 #5
0
        public R50(byte[] recordB)
        {
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB));

            if (_RecordContent == null)
            {
                throw new Exception("Record type 50 not valid - Invalid file.");
            }
            _ImageIndicator            = new RText(string.Empty, string.Empty, 3, 3, string.Empty);
            _ImageCreatorRoutingNumber = new RText(string.Empty, string.Empty, 4, 12, string.Empty);
            _ImageCreatorDate          = new RText(string.Empty, string.Empty, 13, 20, string.Empty);
            _ImageViewFormatIndicator  = new RText(string.Empty, string.Empty, 21, 22, string.Empty);
            _ImageViewCompressionAlgorithmIdentifier = new RText(string.Empty, string.Empty, 23, 24, string.Empty);
            _ImageViewDataSize          = new RText(string.Empty, string.Empty, 25, 31, string.Empty);
            _ViewSideIndicator          = new RText(string.Empty, string.Empty, 32, 32, string.Empty);
            _ViewDescriptor             = new RText(string.Empty, string.Empty, 33, 34, string.Empty);
            _ImageTIFFVarianceIndicator = new RText(string.Empty, string.Empty, 66, 66, string.Empty);
            _OverrideIndicator          = new RText(string.Empty, string.Empty, 67, 67, string.Empty);
            _Reserved = new RText(string.Empty, string.Empty, 68, 80, string.Empty);
        }
예제 #6
0
        public R28(byte[] recordB)
        {
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB));

            if (_RecordContent == null)
            {
                throw new Exception("Record type 28 not valid - Invalid file.");
            }
            _RecordNumber = new RText(string.Empty, string.Empty, 3, 4, _RecordContent);
            _EndorsingBankRoutingNumber       = new RText(string.Empty, string.Empty, 5, 13, _RecordContent);
            _EndorsingBankEndorsementDate     = new RText(string.Empty, string.Empty, 14, 21, _RecordContent);
            _EndorsingBankItemSequenceNumber  = new RText(string.Empty, string.Empty, 22, 36, _RecordContent);
            _TruncationIndicator              = new RText(string.Empty, string.Empty, 37, 37, _RecordContent);
            _EndorsingBankConversionIndicator = new RText(string.Empty, string.Empty, 38, 38, _RecordContent);
            _EndorsingBankCorrectionIndicator = new RText(string.Empty, string.Empty, 39, 39, _RecordContent);
            _ReturnReason            = new RText(string.Empty, string.Empty, 40, 40, _RecordContent);
            _UserField               = new RText(string.Empty, string.Empty, 41, 59, _RecordContent);
            _EndorsingBankIdentifier = new RText(string.Empty, string.Empty, 60, 60, _RecordContent);
            _Reserved = new RText(string.Empty, string.Empty, 61, 80, _RecordContent);
        }
예제 #7
0
        public R20(byte[] recordB)
        {
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB));

            if (_RecordContent == null)
            {
                throw new Exception("Record type 20 not valid - Invalid file.");
            }
            _CollectionTypeIndicator     = new RText("Collection Type Indicator", string.Empty, 3, 4, _RecordContent);
            _DestinationRoutingNumber    = new RText("Destination Routing Number", string.Empty, 5, 13, _RecordContent);
            _ECEInstitutionRoutingNumber = new RText("ECE Institution Routing Number", string.Empty, 14, 22, _RecordContent);
            _BundleBusinessDate          = new RText("Bundle Business Date", string.Empty, 23, 30, _RecordContent);
            _BundleCreationDate          = new RText("Bundle Creation Date", string.Empty, 31, 38, _RecordContent);
            _BundleID                    = new RText("Bundle ID", string.Empty, 39, 48, _RecordContent);
            _BundleSequenceNumber        = new RText("Bundle Sequence Number", string.Empty, 49, 52, _RecordContent);
            _CycleNumber                 = new RText("Cycle Number", string.Empty, 53, 54, _RecordContent);
            _ReturnLocationRoutingNumber = new RText("Return Location Routing Number", string.Empty, 55, 63, _RecordContent);
            _UserField                   = new RText("User Field", string.Empty, 64, 79, _RecordContent);
            _Reserved                    = new RText("Reserved", string.Empty, 80, 80, _RecordContent);
            _Checks = new List <R25>();
        }
예제 #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="recordB"></param>
        public R01(byte[] recordB)
        {
            string _RecordContent = Encoding.ASCII.GetString(Encoding.Convert(Encoding.GetEncoding(37), Encoding.GetEncoding("ASCII"), recordB));

            if (_RecordContent == null)
            {
                throw new Exception("Record type 01 not valid - Invalid file.");
            }
            _Standardlevel     = new RText("Standard level", "03 Indicates DSTU X9.37 – 2003", 3, 4, _RecordContent);
            _TestFileIndicator = new RText("Test File Indicator", "Must be a valid routing and transit number issued by the ABA’s Routing Number Registrar. The routing number shall be mod-checked with a valid check digit", 5, 6, _RecordContent);
            _ImmediateDestinationRoutingNumber = new RText("Immediate Destination Routing Number", "Must be a valid routing and transit number issued by the ABA’s Routing Number Registrar. The routing number shall be mod-checked with a valid check digit", 6, 14, _RecordContent);
            _ImmediateOriginRoutingNumber      = new RText("Immediate Origin Routing Number", "Must be a valid routing and transit number issued by the ABA’s Routing Number Registrar. The routing number shall be mod-checked with a valid check digit", 15, 23, _RecordContent);
            _FileCreationDate         = new RText("File Creation Date", "Must be a valid date in YYYYMMDD format. Eastern time zone shall be used.", 24, 31, _RecordContent);
            _FileCreationTime         = new RText("File Creation Time", "Must be military time in HHMM format. Eastern time zone shall be used", 32, 35, _RecordContent);
            _ResendIndicator          = new RText("Resend Indicator", "", 36, 36, _RecordContent);
            _ImmediateDestinationName = new RText("Immediate Destination Name", "Expanded Field type to support greater variety of abbreviations", 37, 54, _RecordContent);
            _ImmediateOriginName      = new RText("Immediate Origin Name", "Expanded Field type to support greater variety of abbreviations", 55, 72, _RecordContent);
            _FileIDModifier           = new RText("File ID Modifier", "This field is used to uniquely identify files. Lower case letters are NOT valid. ID is required if fields 4, 5, 6 and 7 are equal on other files within a file creation date.", 73, 73, _RecordContent);
            _CountryCode = new RText("Country Code", "", 74, 76, _RecordContent);
            _UserField   = new RText("User Field", "", 77, 79, _RecordContent);
            _CompanionDocumentVersionIndicator = new RText("Companion Document Version Indicator", "", 80, 80, _RecordContent);
            _CashLetterHeaders = new List <R10>();
        }