public async Task <IActionResult> Edit(int id, [Bind("id,/*manager_id,*/sender_account_id,receiver_account_id,operation_id,currency_id,amount,operation_time")] TransactionHistories transactionHistories)
        {
            if (id != transactionHistories.id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    await _transactionsService.Update(transactionHistories);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TransactionHistoriesExists(transactionHistories.id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["currency_id"] = new SelectList(_transactionsService.getCurrencies(), "id", "name", transactionHistories.currency_id);
            //ViewData["manager_id"] = new SelectList(_transactionsService.getManagers(), "id", "full_name", transactionHistories.manager_id);
            ViewData["operation_id"]        = new SelectList(_transactionsService.getOperations(), "id", "name", transactionHistories.operation_id);
            ViewData["receiver_account_id"] = new SelectList(_transactionsService.getReceivers(), "id", "first_name", transactionHistories.receiver_account_id);
            ViewData["sender_account_id"]   = new SelectList(_transactionsService.getSenders(), "id", "first_name", transactionHistories.sender_account_id);
            return(View(transactionHistories));
        }
Exemplo n.º 2
0
        public bool TransferCheckingToSaving(long checkingAccountNumber, long savingAccountNumber, decimal amount, decimal transactionFee)
        {
            bool success = false;

            using (var dbContextTransaction = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    // Taking out money from checking account
                    var checkingAccountRow = (from row in _dbContext.CheckingAccounts
                                              where row.CheckingAccountNumber == checkingAccountNumber
                                              select row).FirstOrDefault <CheckingAccounts>();
                    if (checkingAccountRow != null)
                    {
                        checkingAccountRow.Balance -= amount;
                    }
                    _dbContext.SaveChanges();

                    // Checking if after taking account money, our checking balance is good

                    var checkingBalance = (from row in _dbContext.CheckingAccounts
                                           where row.CheckingAccountNumber == checkingAccountNumber
                                           select row.Balance).FirstOrDefault <decimal>();
                    if (checkingBalance < 0)
                    {
                        throw new Exception("Insufficient funds in checking account");
                    }

                    var savingAccountRow = (from row in _dbContext.SavingAccounts
                                            where row.SavingAccountNumber == savingAccountNumber
                                            select row).FirstOrDefault <SavingAccounts>();
                    if (savingAccountRow != null)
                    {
                        savingAccountRow.Balance += amount;
                    }

                    _dbContext.SaveChanges();

                    TransactionHistories transactions = new TransactionHistories();
                    transactions.CheckingAccountNumber = checkingAccountNumber;
                    transactions.SavingAccountNumber   = savingAccountNumber;
                    transactions.Amount            = amount;
                    transactions.TransactionTypeId = 100;
                    transactions.TransactionFee    = transactionFee;
                    transactions.TransactionDate   = DateTime.Now;
                    _dbContext.TransactionHistories.Add(transactions);
                    _dbContext.SaveChanges();

                    dbContextTransaction.Commit();
                    success = true;
                }
                catch (Exception)
                {
                    dbContextTransaction.Rollback();
                    throw;
                }
            }
            return(success);
        }
Exemplo n.º 3
0
        public BillPayModel(MorningBankRazor.Models.MyBankContext context, IHttpContextAccessor httpContextAccessor)
        {
            _context             = context;
            _httpContextAccessor = httpContextAccessor;
            transactionHistories = new TransactionHistories();

            var userName = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.Name).Value;

            checkingacct = _context.CheckingAccounts.FirstOrDefault(c => c.Username == userName);
        }
Exemplo n.º 4
0
        public bool BillPayment(long checkingAccountNum, long payeeAccountNum, decimal amount, decimal transactionFee)
        {
            bool ret = false;

            using (var dbContextTransaction = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    var reccheck = (from r in _dbContext.CheckingAccounts
                                    where r.CheckingAccountNumber == checkingAccountNum
                                    select r).FirstOrDefault <CheckingAccounts>();
                    if (reccheck != null)
                    {
                        reccheck.Balance = reccheck.Balance - amount;
                    }
                    _dbContext.SaveChanges();
                    var bal = (from r in _dbContext.CheckingAccounts
                               where r.CheckingAccountNumber == checkingAccountNum
                               select r.Balance).FirstOrDefault <decimal>();
                    if (bal < 0)
                    {
                        throw new Exception("insufficient amount in Checking Account..");
                    }
                    var recpayee = (from r in _dbContext.CheckingAccounts
                                    where r.CheckingAccountNumber == payeeAccountNum
                                    select r).FirstOrDefault <CheckingAccounts>();
                    if (recpayee != null)
                    {
                        recpayee.Balance = recpayee.Balance + amount;
                    }
                    else
                    {
                        //contact
                    }
                    _dbContext.SaveChanges();
                    TransactionHistories th = new TransactionHistories();
                    th.CheckingAccountNumber = checkingAccountNum;
                    th.SavingAccountNumber   = payeeAccountNum;
                    th.Amount            = amount;
                    th.TransactionTypeId = 102;
                    th.TransactionFee    = transactionFee;
                    th.TransactionDate   = DateTime.Now;
                    _dbContext.TransactionHistories.Add(th);
                    _dbContext.SaveChanges();
                    dbContextTransaction.Commit();
                    ret = true;
                }
                catch (Exception)
                {
                    dbContextTransaction.Rollback();
                    throw;
                }
            }
            return(ret);
        }
 public async Task <IActionResult> Create([Bind("id,manager_id,sender_account_id,receiver_account_id,operation_id,currency_id,amount,operation_time")] TransactionHistories transactionHistories)
 {
     if (ModelState.IsValid)
     {
         await _transactionsService.AddAndSave(transactionHistories);
     }
     ViewData["currency_id"] = new SelectList(_transactionsService.getCurrencies(), "id", "name", transactionHistories.currency_id);
     //ViewData["manager_id"] = new SelectList(_transactionsService.getManagers(), "id", "full_name", transactionHistories.manager_id);
     ViewData["operation_id"]        = new SelectList(_transactionsService.getOperations(), "id", "name", transactionHistories.operation_id);
     ViewData["receiver_account_id"] = new SelectList(_transactionsService.getReceivers(), "id", "first_name", transactionHistories.receiver_account_id);
     ViewData["sender_account_id"]   = new SelectList(_transactionsService.getSenders(), "id", "first_name", transactionHistories.sender_account_id);
     return(View(transactionHistories));
 }
 public void Delete(TransactionHistories transaction_histories)
 {
     _context.Remove(transaction_histories);
 }
 public void Update(TransactionHistories transaction_histories)
 {
     _context.Update(transaction_histories);
 }
 public void Add(TransactionHistories transaction_histories)
 {
     _context.Add(transaction_histories);
 }
Exemplo n.º 9
0
 // POST: Roles/Delete/5
 public async Task Delete(TransactionHistories transaction_histories)
 {
     _transactionsRepo.Delete(transaction_histories);
     await _transactionsRepo.Save();
 }
Exemplo n.º 10
0
 // POST: Roles/Create
 public async Task AddAndSave(TransactionHistories transaction_histories)
 {
     _transactionsRepo.Add(transaction_histories);
     await _transactionsRepo.Save();
 }