public void UpdateBalance(UserData userData, DepositsAndWithdrawls transaction) { //updates user bank balance userData.BetBankBalance += transaction.AmountOfTransaction; _context.UserData.Update(userData); _context.SaveChanges(); }
public void AddPayout(DepositsAndWithdrawls transaction, bool moneyInOut, UserData userOfBet) { if (moneyInOut != true) { transaction.AmountOfTransaction = transaction.AmountOfTransaction * -1; } //adds the record to the table _context.DepositsAndWithdrawls.Add(transaction); _context.SaveChanges(); }
public void UpdateTransactionHistory(DepositsAndWithdrawls transaction) { //update userdata balance foreach (UserData item in _context.UserData.ToList()) { if (item.UserId == transaction.UserId) { item.BetBankBalance += transaction.AmountOfTransaction; _context.UserData.Update(item); _context.SaveChanges(); break; } } }
public IActionResult AddTransaction(DepositsAndWithdrawls transaction, bool moneyInOut) { if (ModelState.IsValid) { if (moneyInOut != true) { transaction.AmountOfTransaction = transaction.AmountOfTransaction * -1; } _context.DepositsAndWithdrawls.Add(transaction); _context.SaveChanges(); UpdateTransactionHistory(transaction); } return(RedirectToAction("Index", "Home")); }
//CREATE public IActionResult AddBet(RecordOfBets addBet) { UserData user = new UserData(); foreach (UserData userOne in _context.UserData.ToList()) { if (userOne.UserId == User.FindFirst(ClaimTypes.NameIdentifier).Value) { user = userOne; } } if (ModelState.IsValid) { //validation to see if amount bet is less than or equal to Bet Bank amount if (addBet.AmountBet <= user.BetBankBalance) { DepositsAndWithdrawls newTransaction = new DepositsAndWithdrawls(); newTransaction.AmountOfTransaction = addBet.AmountBet * -1; newTransaction.TimeOfTransaction = DateTime.Now; newTransaction.UserId = user.UserId; newTransaction.UserMadeTransAction = true; AddPayout(newTransaction, true, user); user.BetBankBalance -= addBet.AmountBet; _context.UserData.Update(user); _context.SaveChanges(); _context.RecordOfBets.Add(addBet); _context.SaveChanges(); } else { ViewBag.error = "Not enough money in account to place bet! Enter new amount."; return(View("Error")); } } // Not sure where to return fully return(RedirectToAction("ViewOpenBets")); }
public IActionResult DeleteBet(int id) { var selectedBet = _context.RecordOfBets.Find(id); if (selectedBet != null) { var tempuser = _context.UserData.Where(b => b.UserId == User.FindFirst(ClaimTypes.NameIdentifier).Value).ToList(); DepositsAndWithdrawls newTransaction = new DepositsAndWithdrawls(); newTransaction.AmountOfTransaction = selectedBet.AmountBet; newTransaction.TimeOfTransaction = DateTime.Now; newTransaction.UserId = tempuser[0].UserId; newTransaction.UserMadeTransAction = true; AddPayout(newTransaction, true, tempuser[0]); UpdateBalance(tempuser[0], newTransaction); _context.RecordOfBets.Remove(selectedBet); _context.SaveChanges(); } return(RedirectToAction("ViewOpenBets")); }