예제 #1
0
 public void UpdateBalance(UserData userData, DepositsAndWithdrawls transaction)
 {
     //updates user bank balance
     userData.BetBankBalance += transaction.AmountOfTransaction;
     _context.UserData.Update(userData);
     _context.SaveChanges();
 }
예제 #2
0
        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();
        }
예제 #3
0
 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;
         }
     }
 }
예제 #4
0
        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"));
        }
예제 #5
0
        //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"));
        }
예제 #6
0
        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"));
        }