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)); }
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); }
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); }
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); }
// POST: Roles/Delete/5 public async Task Delete(TransactionHistories transaction_histories) { _transactionsRepo.Delete(transaction_histories); await _transactionsRepo.Save(); }
// POST: Roles/Create public async Task AddAndSave(TransactionHistories transaction_histories) { _transactionsRepo.Add(transaction_histories); await _transactionsRepo.Save(); }