Example #1
0
        public BankAccount Deposit(BankAccountModel accountModel, decimal amount, string currency)
        {
            using (ChilindoBankLtdDB context = new ChilindoBankLtdDB())
            {
                bool saveFailed = false;

                var account = context.BankAccounts
                              .Where(a => a.AccountNumber.Equals(accountModel.AccountNumber))
                              .FirstOrDefault();
                do
                {
                    try
                    {
                        saveFailed       = false;
                        account.Balance += amount;
                        context.SaveChanges();
                    }
                    catch (DbUpdateConcurrencyException ex)
                    {
                        saveFailed = true;

                        ex.Entries.Single().Reload();
                    }
                    catch (Exception e)
                    {
                        //handle and log exception here.
                    }
                } while (saveFailed);

                return(account);
            }
        }
 public AccountControllerTest()
 {
     controller = new AccountController()
     {
         Request       = new HttpRequestMessage(),
         Configuration = new HttpConfiguration()
     };
     dbcontext    = new ChilindoBankLtdDB();
     modelFactory = new ModelFactory();
 }
Example #3
0
        public BankAccount GetAccount(int accountNumber)
        {
            using (ChilindoBankLtdDB context = new ChilindoBankLtdDB())
            {
                var query = context.BankAccounts
                            .Where(a => a.AccountNumber.Equals(accountNumber))
                            .FirstOrDefault();

                if (query == null)
                {
                    return(null);
                }

                return(query);
            }
        }