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