Beispiel #1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,JackpotID,UserId,CurrentWin,TriggerTime")] TriggeredJackpot triggeredJackpot)
        {
            if (id != triggeredJackpot.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(triggeredJackpot);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TriggeredJackpotExists(triggeredJackpot.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["JackpotID"] = new SelectList(_context.Jackpots, "JackpotID", "Name", triggeredJackpot.JackpotID);
            return(View(triggeredJackpot));
        }
Beispiel #2
0
        public async Task PlayGame(string message)
        {
            // Find Player In DB.
            var currPlayer = _httpContextAccessor.HttpContext.User.Identity;
            var userId     = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            // or

            // Handle Jackpot Logic
            var jackpots = await _context.Jackpots
                           .ToListAsync();

            jackpots?.ForEach(i =>
            {
                i.CurrentWin += 1;
                i.CurrentTime = DateTime.Now;
                if (i.CurrentWin >= i.TriggerPoints)
                {
                    i.CurrentWin -= i.TriggerPoints;
                    var jpHistory = new TriggeredJackpot()
                    {
                        UserId      = userId,
                        JackpotID   = i.JackpotID,
                        CurrentWin  = i.TriggerPoints,
                        TriggerTime = DateTime.Now
                    };
                    _context.Add(jpHistory);
                }
            });
            await _context.SaveChangesAsync();

            jackpots = await _context.Jackpots.ToListAsync();

            await Clients.All.SendAsync("ReceiveMessage", currPlayer.Name, JsonConvert.SerializeObject(jackpots));
        }
Beispiel #3
0
        public async Task <IActionResult> Create([Bind("ID,JackpotID,UserId,CurrentWin,TriggerTime")] TriggeredJackpot triggeredJackpot)
        {
            if (ModelState.IsValid)
            {
                _context.Add(triggeredJackpot);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["JackpotID"] = new SelectList(_context.Jackpots, "JackpotID", "Name", triggeredJackpot.JackpotID);
            return(View(triggeredJackpot));
        }