public AtmWithdrawService(IAtmWithdrawRepository atmWithdrawRepository, IBankAccountRepository bankAccountRepository, IExpenseRepository expenditureRepository, IHistoricMovementRepository historicMovementRepository) { this._atmWithdrawRepository = atmWithdrawRepository; this._bankAccountRepository = bankAccountRepository; this._expenditureRepository = expenditureRepository; this._historicMovementRepository = historicMovementRepository; }
protected MovementStrategy(Movement movement, IBankAccountRepository bankAccountRepository, IHistoricMovementRepository historicMovementRepository, IIncomeRepository incomeRepository, IAtmWithdrawRepository atmWithdrawRepository) { CurrentMovement = movement; this.BankAccountRepository = bankAccountRepository; this.HistoricMovementRepository = historicMovementRepository; this.IncomeRepository = incomeRepository; this.AtmWithdrawRepository = atmWithdrawRepository; }
public BankAccountService(IBankAccountRepository bankAccountRepository, IExpenseRepository expenditureRepository, IIncomeRepository incomeRepository, IAtmWithdrawRepository atmWithdrawRepository, IBankBranchRepository bankBranchRepository) { this._bankAccountRepository = bankAccountRepository; this._expenditureRepository = expenditureRepository; this._incomeRepository = incomeRepository; this._atmWithdrawRepository = atmWithdrawRepository; this._bankBranchRepository = bankBranchRepository; }
public SavingService(ISavingRepository savingRepository, IBankAccountRepository bankAccountRepository, IHistoricMovementRepository historicMovementRepository, IIncomeRepository incomeRepository, IAtmWithdrawRepository atmWithdrawRepository) { this._savingRepository = savingRepository; this._bankAccountRepository = bankAccountRepository; this._historicMovementRepository = historicMovementRepository; this._incomeRepository = incomeRepository; this._atmWithdrawRepository = atmWithdrawRepository; }
public CashMovementStrategy(Movement movement, IBankAccountRepository bankAccountRepository, IHistoricMovementRepository historicMovementRepository, IIncomeRepository incomeRepository, IAtmWithdrawRepository atmWithdrawRepository) : base(movement, bankAccountRepository, historicMovementRepository, incomeRepository, atmWithdrawRepository) { }
public static MovementStrategy GetMovementStrategy(Movement movement, IBankAccountRepository bankAccountRepository, IHistoricMovementRepository historicMovementRepository, IIncomeRepository incomeRepository, IAtmWithdrawRepository atmWithdrawRepository) { MovementStrategy strategy = null; switch (movement.PaymentMethod) { case PaymentMethod.Cash: strategy = new CashMovementStrategy(movement, bankAccountRepository, historicMovementRepository, incomeRepository, atmWithdrawRepository); break; case PaymentMethod.InternalTransfer: strategy = new InternalTransferMovementStrategy(movement, bankAccountRepository, historicMovementRepository, incomeRepository, atmWithdrawRepository); break; case PaymentMethod.CB: case PaymentMethod.DirectDebit: case PaymentMethod.Transfer: strategy = new CommonMovementStrategy(movement, bankAccountRepository, historicMovementRepository, incomeRepository, atmWithdrawRepository); break; default: throw new ArgumentException("Unknown PaymentMethod"); } return(strategy); }