コード例 #1
0
        [HttpPut("{id}")] // PUT: api/Roulettes
        public async Task <IActionResult> PutRoulette(long id, Roulette roulette)
        {
            if (id != roulette.Id)
            {
                return(BadRequest());
            }
            _context.Entry(roulette).State = EntityState.Modified;
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RouletteExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #2
0
        public async Task <ActionResult <IEnumerable <Bet> > > CloseBetByRoulette(int idRoulette)
        {
            List <Bet> BetList = await _context.BetItems.Where(z => z.IdRoulette == idRoulette).ToListAsync();

            if (BetList == null)
            {
                return(BadRequest("No se encontró ruleta a cerrar"));
            }
            Random random       = new Random();
            int    winingNumber = random.Next(0, 37);

            foreach (Bet bet in BetList)
            {
                if (Int16.Parse(bet.PlayedValue) == winingNumber)
                {
                    bet.State         = "Win";
                    bet.ObtainedValue = (bet.StakeValue * 5).ToString();
                }
                else if ((winingNumber % 2 == 0 && Int16.Parse(bet.PlayedValue) % 2 == 0) ||
                         (winingNumber % 2 != 0 && Int16.Parse(bet.PlayedValue) % 2 != 0))
                {
                    bet.State         = "Win";
                    bet.ObtainedValue = (bet.StakeValue * 1.8).ToString();
                }
                else
                {
                    bet.State = "Lose";
                }
                _context.Entry(bet).State = EntityState.Modified;
                await _context.SaveChangesAsync();
            }
            Roulette roulette = await _context.RouletteItems.FindAsync(idRoulette);

            roulette.State                 = "Closed";
            roulette.WinningNumber         = winingNumber;
            _context.Entry(roulette).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(BetList);
        }
コード例 #3
0
        public async Task <ActionResult <Roulette> > OpenRoulette(int id)
        {
            Roulette item = await _context.RouletteItems.FindAsync(id);

            if (item == null)
            {
                return(NotFound());
            }
            item.State = "Open";
            _context.Entry(item).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(Ok());
        }
コード例 #4
0
 public async Task <bool> UpdateRoulette(Entities.Roulette roulette)
 {
     try
     {
         var optionsBuilder = new DbContextOptionsBuilder <RouletteContext>();
         optionsBuilder.UseSqlServer("RouletteContext");
         using (var context = new RouletteContext(optionsBuilder.Options))
         {
             context.Entry(roulette).State = EntityState.Modified;
             return(await context.SaveChangesAsync() > 0);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #5
0
        public async Task <ActionResult <Roulette> > OpenRoulette(long id)
        {
            var roulette = await _context.Roulettes.FindAsync(id);

            if (roulette == null)
            {
                return(NotFound());
            }
            else
            {
                if (roulette.Open())
                {
                    _context.Entry(roulette).State = EntityState.Modified;
                    await _context.SaveChangesAsync();

                    return(Ok(new { status = "Opened" }));
                }
                else
                {
                    return(Conflict(new { status = "Roulete already opened" }));
                }
            }
        }