Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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;
        }
Exemplo n.º 7
0
        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;
        }
Exemplo n.º 8
0
        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;
        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
        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);
        }