/// <summary> /// Builds the rebate record of the specified type for the specified record. /// </summary> /// <param name="record"> /// The record for which to build a rebate record. /// </param> /// <returns> /// The rebate record for the specified record. /// </returns> internal static string Build(RebateRecord record) { StringBuilder result = new StringBuilder(); // Record type. result.Append(RecordType); // Transaction sequence number. result.Append(record.TransactionSequenceNumber); // Bank account number. result.Append(RebateConstants.AlphaOmittedCharacter, BankAccountNumberFieldLength); // Transaction amount. result.Append(record.TransactionAmount.ToString("F2").PadLeft(TransactionAmountFieldLength, RebateConstants.NumericOmittedCharacter)); // Transaction date. result.Append(record.TransactionDate.ToString("yyyyMMdd")); // Rebate amount. result.Append(record.RebateAmount.ToString("F2").PadLeft(RebateAmountFieldLength, RebateConstants.NumericOmittedCharacter)); // Merchant category code. result.Append(MerchantCategoryCode); // Transaction description. result.Append(record.TransactionDescription.PadRight(TransactionDescriptionFieldLength)); // Reversal indicator. result.Append(NoReversalIndicator); // Merchant ID. result.Append(record.MerchantId.PadRight(MerchantIdFieldLength)); // Issuer ICA. result.Append(record.IssuerIca); // Program code. result.Append(ProgramCode); // Bank product code. result.Append(BankProductCode.PadRight(BankProductCodeFieldLength)); // Bank customer number. result.Append(record.BankCustomerNumber.PadRight(BankCustomerNumberFieldLength)); // Filler. result.Append(RebateConstants.AlphaOmittedCharacter, FillerFieldLength); return(result.ToString()); }
/// <summary> /// Builds the filtering record of the specified type for the specified record. /// </summary> /// <param name="record"> /// The record for which to build a filtering record. /// </param> /// <param name="date"> /// The date to add to the filtering record. /// </param> /// <param name="mappingTypeCode"> /// The mapping type code to embed within the filtering record. /// </param> /// <param name="setId"> /// The set ID to specify for the record. /// </param> /// <param name="mappingId"> /// The mapping ID for the filtering record. /// </param> /// <returns> /// The filtering record for the specified record. /// </returns> internal static string Build(FilteringRecord record, string date, string mappingTypeCode, string setId, int mappingId) { StringBuilder result = new StringBuilder(); // Record type. result.Append(RecordType); // Record date. result.Append(date); // Member ICA. result.Append(FilteringConstants.MemberIca); // Bank customer number. result.Append(record.BankCustomerNumber.PadRight(BankCustomerNumberFieldLength)); // Bank account number. result.Append(FilteringConstants.AlphaOmittedCharacter, BankAccountNumberFieldLength); // Bank product code. result.Append(BankProductCode.PadRight(BankProductCodeFieldLength)); // Mapping action code. result.Append(MappingActionCode); // Mapping type code. result.Append(mappingTypeCode); // Mapping ID. result.Append(mappingId.ToString().PadRight(MappingIdFieldLength)); // Status. result.Append(Status); // Expiration date. result.Append(FilteringConstants.DateTimeOmittedCharacter, ExpirationDateFieldLength); // Enrollment date. result.Append(record.EffectiveDate.ToString("yyyyMMdd")); // Merchant set ID (User defined 1). result.Append(setId.PadRight(UserDefinedFieldLength)); // Transaction threshold (User defined 2). result.Append(record.Threshold.ToString("F2").PadRight(UserDefinedFieldLength)); // User defined 3. result.Append(FilteringConstants.AlphaOmittedCharacter, UserDefinedFieldLength); // User defined 4. result.Append(FilteringConstants.AlphaOmittedCharacter, UserDefinedFieldLength); // User defined 5. result.Append(FilteringConstants.AlphaOmittedCharacter, UserDefinedFieldLength); // Points total sign. result.Append(FilteringConstants.AlphaOmittedCharacter); // Point total. result.Append(FilteringConstants.NumericOmittedCharacter, PointTotalFieldLength); // Filler. result.Append(FilteringConstants.AlphaOmittedCharacter, FillerFieldLength); return(result.ToString()); }