예제 #1
0
 public async Task UpdateAccountDetails(Account accountToUpdate, decimal amount,
                                        TrancationEnum transactionType)
 {
     if (transactionType == TrancationEnum.Deposit)
     {
         accountToUpdate.Balance += amount;
     }
     else
     {
         accountToUpdate.Balance -= amount;
     }
     db.Entry(accountToUpdate).State = System.Data.Entity.EntityState.Modified;
     await db.SaveChangesAsync();
 }
예제 #2
0
        public async Task <bool> SaveTransactionRecord(decimal amount, decimal previousBalance,
                                                       int customerId, string AccountId, TrancationEnum transactionType
                                                       )
        {
            try
            {
                decimal newBalance = 0;
                if (transactionType == TrancationEnum.Deposit)
                {
                    newBalance = previousBalance + amount;
                }
                else
                {
                    newBalance = previousBalance - amount;
                }
                Transactions transaction = new Transactions
                {
                    AccountId       = AccountId,
                    Amount          = amount,
                    NewBalance      = newBalance,
                    CustomerId      = customerId,
                    TransactionType = transactionType,
                    PreviousBalance = previousBalance,
                    UserId          = HttpContext.Current.User.Identity.GetUserId()
                };
                db.Transactions.Add(transaction);
                await db.SaveChangesAsync();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }