public Response Deposit(Account account, decimal Amount) { var response = new Response(); if (Amount > 0) { account.Balance += Amount; var repo = new AccountRepository(); repo.UpdateAccount(account); response.Success = true; response.Message = "You have successfully made a deposit."; response.DepositInfo = new DepositSlip(); response.DepositInfo.AccountNumber = account.AccountNumber; response.DepositInfo.DepositAmount = Amount; response.DepositInfo.NewBalance = account.Balance; } else { response.Success = false; response.Message = "WTF You have to give a positive amount to deposit!"; } return response; }
public Response<Account> MakeDeposit(DepositRequest request) { var response = new Response<Account>(); var accountToUpdate = request.Account; try { if (request.DepositAmount <= 0) { response.Success = false; response.Message = "Must deposit a positive amount."; } else { accountToUpdate.Balance += request.DepositAmount; var repo = new AccountRepository(); repo.UpdateAccount(accountToUpdate); response.Success = true; response.Data = accountToUpdate; } } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return response; }
public Response Transfer(Account Account1, Account Account2, decimal Amount) { var response = new Response(); if (Amount <= Account1.Balance && Amount > 0) { Account1.Balance -= Amount; Account2.Balance += Amount; var repo = new AccountRepository(); repo.UpdateAccount(Account1, Account2); response.Success = true; response.Message = "You have successfully made a transfer."; response.TransferInfo = new TransferSlip(); response.TransferInfo.CurrentAccountNumber = Account1.AccountNumber; response.TransferInfo.CurrentAccountName = Account1.FirstName + " " + Account1.LastName; response.TransferInfo.TargetAccountNumber = Account2.AccountNumber; response.TransferInfo.TargetAccountName = Account2.FirstName + " " + Account2.LastName; response.TransferInfo.TransferAmount = Amount; response.TransferInfo.NewBalanceCurrentAccount = Account1.Balance; response.TransferInfo.NewBalanceTargetAccount = Account2.Balance; } else { response.Success = false; if (Amount > Account1.Balance) { response.Message = "You cannot transfer more money than you have in your balance!!"; } else { response.Message = "That is not a proper transfer amount."; } } return response; }
public Response<Account> MakeWithDrawal(WithDrawalRequest request) { var response = new Response<Account>(); var accountToUpdate = request.Account; try { if (request.Account.Balance < request.WithdrawalAmount) { response.Success = false; response.Message = "You do not have adequate funds in your account."; } else { accountToUpdate.Balance -= request.WithdrawalAmount; var repo = new AccountRepository(); repo.UpdateAccount(accountToUpdate); response.Success = true; response.Data = accountToUpdate; } } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return response; }
public Response<DepositReciept> Deposit(Account account, decimal amount) { var response = new Response<DepositReciept>(); try { if (amount <= 0) { response.Success = false; response.Message = "Must deposit a positive value."; } else { account.Balance += amount; var repo = new AccountRepository(); repo.UpdateAccount(account); response.Success = true; response.Data = new DepositReciept(); response.Data.AccountNumber = account.AccountNumber; response.Data.DepositAmount = amount; response.Data.NewBalance = account.Balance; } } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return response; }
public Response<WithdrawReciept> Withdraw(Account account, decimal amount) { var response = new Response<WithdrawReciept>(); try { if (amount <= 0 ) { response.Success = false; response.Message = "Must withdraw a positive value."; } else if (amount > account.Balance) { response.Success = false; response.Message = "Insufficient Funds"; } else { account.Balance -= amount; var repo = new AccountRepository(); repo.UpdateAccount(account); response.Success = true; response.Data = new WithdrawReciept(); response.Data.AccountNumber = account.AccountNumber; response.Data.WithdrawAmount = amount; response.Data.NewBalance = account.Balance; } } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return response; }
public Response<TransferReceipt> Transfer(Account accountFrom, Account accountTo, decimal amount) { var response = new Response<TransferReceipt>(); try { if (amount <= 0) { response.Success = false; response.Message = "Must transfer a positive value."; } else { accountFrom.Balance -= amount; accountTo.Balance += amount; var repoFrom = new AccountRepository(); repoFrom.UpdateAccount(accountFrom); repoFrom.UpdateAccount(accountTo); response.Success = true; response.Data = new TransferReceipt(); response.Data.AccountNumberFrom = accountFrom.AccountNumber; response.Data.TransferAmount = amount; response.Data.NewBalance = accountFrom.Balance; response.Data = new TransferReceipt(); response.Data.AccountNumberTo = accountTo.AccountNumber; response.Data.TransferAmount = amount; response.Data.NewBalance = accountTo.Balance; } } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return response; }
public Response Withdraw(Account account, decimal Amount) { var response = new Response(); if (Amount > account.Balance) { response.Success = false; response.Message = " Insufficent funds"; } else { account.Balance -= Amount; var repo = new AccountRepository(); repo.UpdateAccount(account); response.Success = true; response.WithdrawInfo = new WithdrawSlip(); response.WithdrawInfo.AccountNumber = account.AccountNumber; response.WithdrawInfo.WithdrawalAmount = Amount; response.WithdrawInfo.NewBalance = account.Balance; } return response; }
public Response Withdraw(Account account, decimal Amount) { var response = new Response(); if (Amount <= account.Balance && Amount > 0) { account.Balance -= Amount; var repo = new AccountRepository(); repo.UpdateAccount(account); response.Success = true; response.Message = "You have successfully made a withdrawal."; response.WithdrawalInfo = new WithdrawalSlip(); response.WithdrawalInfo.AccountNumber = account.AccountNumber; response.WithdrawalInfo.WithdrawalAmount = Amount; response.WithdrawalInfo.NewBalance = account.Balance; } else { response.Success = false; if (Amount > account.Balance) { response.Message = "You cannot withdraw more money than you have in your balance!!"; } else { response.Message = "That is not a proper withdrawal amount."; } } return response; }
public void UpdateAccountSucceeds() { var repo = new AccountRepository(); var accountToUpdate = repo.LoadAccount(1); accountToUpdate.Balance = 500.00M; repo.UpdateAccount(accountToUpdate); var result = repo.LoadAccount(1); Assert.AreEqual(500.00M, result.Balance); }