public AtmForm() { InitializeComponent(); _atmRepository = new AtmRepository(); _paymentGateway = new PaymentGateway(); _atm = _atmRepository.GetById(1); NotifyClient(string.Empty); }
public HeadOffice Handle(TransferCashToAtmCommand request) { var headOffice = _headOfficeRepository.GetById(request.HeadOfficeId); var atm = _atmRepository.GetById(request.AtmId); headOffice.TransferCashToAtm(atm); _atmRepository.Save(atm); _headOfficeRepository.Save(headOffice); return(headOffice); }
public Atm Handle(WithdrawCommand request) { var atm = _atmRepository.GetById(request.AtmId); if (atm.Withdraw(request.Amount)) { var charge = request.Amount + atm.CalculateCommision(request.Amount); _paymentGateway.ChargePayment(charge); _atmRepository.Save(atm); } return(atm); }