private void TakeMoney(decimal amount) { string error = _atm.CanTakeMoney(amount); if (error != string.Empty) { NotifyClient(error); } decimal amountWithCommision = _atm.CalculateAmountWithCommision(amount); _paymentGateway.ChargePayment(amountWithCommision); _atm.TakeMoney(amount); _repository.Save(_atm); NotifyClient("You have taken " + amount.ToString("C2")); }