/// <summary> /// Constructor /// </summary> /// <param name="transactionDataProviderService">Data provider service implemenation</param> /// <param name="transactionFeeCalculator">Transaction fee calculator implementation</param> /// <param name="displayService">Display service implementation</param> public MerchantFeeCalculator(ITransactionDataProviderService transactionDataProviderService, ITransactionFeeCalculator transactionFeeCalculator, IDisplayService displayService) { _transactionDataProviderService = transactionDataProviderService; _transactionFeeCalculator = transactionFeeCalculator; _displayService = displayService; }
/// <summary> /// Constructor /// </summary> /// <param name="baseTransactionFeeCalculator">Previous Transaction Fee Calculator implementation</param> /// <param name="merchantDiscounts">Dictionary of Merchant/Discount pairs</param> public DiscountTransactionFeeCalculator(ITransactionFeeCalculator baseTransactionFeeCalculator, Dictionary <string, double> merchantDiscounts) { _baseTransactionFeeCalculator = baseTransactionFeeCalculator; _merchantDiscounts = merchantDiscounts; }
/// <summary> /// Constructor /// </summary> /// <param name="transaction">Transaction</param> /// <param name="transactionFeeCalculator">Transaction Fee Calculator implementation</param> public TransactionFee(Transaction transaction, ITransactionFeeCalculator transactionFeeCalculator) { _transactionFeeCalculator = transactionFeeCalculator; _transaction = transaction; }
/// <summary> /// Constructor /// </summary> /// <param name="baseTransactionFeeCalculator">Previous Transaction Fee Calculator implementation</param> /// <param name="fixedFee">Fixed monthly fee</param> public FixedFeeTransactionFeeCalculator(ITransactionFeeCalculator baseTransactionFeeCalculator, double fixedFee) { _baseTransactionFeeCalculator = baseTransactionFeeCalculator; _fixedFee = fixedFee; _firstTransactionInMonth = new Dictionary <string, bool>(); }