public async Task <IActionResult> CreateBet([FromBody] BetApiModel bet) { // var header = _context.HttpContext.Request?.Headers["id"]; var newbet = await _rouletteService.NewBet(bet); return(Ok(ResponseMapper.MapBet(newbet))); }
public static BetsModel Map(BetApiModel betApi, int id, bool winOp) { return(new BetsModel() { id = id, number = betApi.number, color = betApi.color, money = betApi.money, winOperation = winOp }); }
private bool betValidation(BetApiModel betApi) { if (betApi.money >= 10000) { return(false); } if (betApi.number > 0 && betApi.number <= 36) { return(true); } else if (betApi.color.ToLower() == "negro" || betApi.color.ToLower() == "rojo") { return(true); } else { return(false); } }
public async Task <BetsModel> NewBet(BetApiModel betApi) { bool winOperation = false; var roulettes = await _redisRepository.Read("Roulettes"); RouletteModel roulette = roulettes.FirstOrDefault(x => x.id == betApi.idRoulette); if (!betValidation(betApi)) { return(new BetsModel() { id = 0 }); } if (roulette == null) { return(new BetsModel { id = 0 }); } if (roulette.bets == null) { roulette.bets = new List <BetsModel>(); winOperation = operation(betApi.number, betApi.color); roulette.bets.Add(BetMapper.Map(betApi, 1, winOperation)); // await _redisRepository.Add("Roulette",roulettes); // return roulette.bets.Find(x => x.id == betApi.idRoulette); } else { winOperation = operation(betApi.number, betApi.color); roulette.bets.Add(BetMapper.Map(betApi, roulette.bets.Count() + 1, winOperation)); } await _redisRepository.Add("Roulettes", roulettes); return(roulette.bets.Find(bet => bet.id == roulette.bets.Count())); }