Example #1
0
 public override void SetOpened(bool opened)
 {
     if (_micr == null)
     {
         _micr            = (Micr)PosCommon;
         _micr.DataEvent += new DataEventHandler(micr_DataEvent);
     }
 }
Example #2
0
        public override void SetOpened(bool opened)
        {
            if (_micr == null)
            {
                _micr = (Micr)PosCommon;
                _micr.DataEvent += new DataEventHandler(micr_DataEvent);
            }

        }
        /// <summary>
        /// Gets the item detail records (type 25, 26, etc.)
        /// </summary>
        /// <param name="fileFormat">The file format that contains the configuration to use.</param>
        /// <param name="transaction">The transaction being deposited.</param>
        /// <returns>A collection of records.</returns>
        protected virtual List <X937.Record> GetItemDetailRecords(ImageCashLetterFileFormat fileFormat, FinancialTransaction transaction)
        {
            var accountNumber = Rock.Security.Encryption.DecryptString(GetAttributeValue(fileFormat, "AccountNumber"));
            var routingNumber = Rock.Security.Encryption.DecryptString(GetAttributeValue(fileFormat, "RoutingNumber"));

            //
            // Parse the MICR data from the transaction.
            //
            var micr = new Micr(Rock.Security.Encryption.DecryptString(transaction.CheckMicrEncrypted));
            var transactionRoutingNumber = micr.GetField(5);

            //
            // Get the Check Detail record (type 25).
            //
            var detail = new X937.Records.CheckDetail
            {
                PayorBankRoutingNumber           = transactionRoutingNumber.Substring(0, 8),
                PayorBankRoutingNumberCheckDigit = transactionRoutingNumber.Substring(8, 1),
                OnUs = micr.GetField(3) + "/" + micr.GetField(2),
                ExternalProcessingCode = micr.GetField(6),
                AuxiliaryOnUs          = micr.GetField(7),
                ItemAmount             = transaction.TotalAmount,
                ClientInstitutionItemSequenceNumber = accountNumber,
                DocumentationTypeIndicator          = "G",
                BankOfFirstDepositIndicator         = "Y",
                CheckDetailRecordAddendumCount      = 1
            };

            //
            // Get the Addendum A record (type 26).
            //
            var detailA = new X937.Records.CheckDetailAddendumA
            {
                RecordNumber = 1,
                BankOfFirstDepositRoutingNumber       = routingNumber,
                BankOfFirstDepositBusinessDate        = DateTime.Now,
                TruncationIndicator                   = "N",
                BankOfFirstDepositConversionIndicator = "2",
                BankOfFirstDepositCorrectionIndicator = "0"
            };

            return(new List <X937.Record> {
                detail, detailA
            });
        }