[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()); }
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); }
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()); }
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; } }
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" })); } } }