public async Task <ResponseCode> GameRoulette(Entities.Bet betGame) { try { var rouletteGet = _rouletteService.GetRoulette(betGame.RouletteId); if (rouletteGet != null) { if (rouletteGet.State == Convert.ToInt32(StateGame.Open)) { if (ValidateBet(betGame)) { await SaveBet(betGame); } return(ResponseCode.Ok); } } return(ResponseCode.Rejected); } catch (Exception ex) { throw ex; } }
public CreateBetResponse MakeBet(CreateBetRequest betRequest, string clientId) { CreateBetResponse response = new CreateBetResponse(); var currentRoulette = _redisHelper.FindRoulette(betRequest.RouletteId); if (!currentRoulette.IsOpen) { response.Message = "The roulette is Closed"; return(response); } Entities.Bet newBet = new Entities.Bet(); if (betRequest.TypeofBet == Enums.BetType.Color) { newBet.Color = betRequest.Color; newBet.NumbertoBet = null; } else { newBet.Color = Enums.BetColor.None; newBet.NumbertoBet = betRequest.NumbertoBet; } newBet.RouletteId = betRequest.RouletteId; newBet.Type = betRequest.TypeofBet; newBet.MoneytoBet = betRequest.MoneytoBet; _redisHelper.CreateBet(newBet); response.Successful = true; response.Message = "Success"; return(response); }
public void CreateBet(Entities.Bet bet) { var roulettes = GetRoulettes(); Entities.Roulette currentRoulette = roulettes.Find(x => x.RouletteId == bet.RouletteId); currentRoulette.BetList.Add(bet); _database.StringSet(RouletteTable, JsonConvert.SerializeObject(roulettes)); }
public async Task <int> SaveBet(Entities.Bet gameBet) { try { var optionsBuilder = new DbContextOptionsBuilder <Data.Context.RouletteContext>(); optionsBuilder.UseSqlServer("RouletteContext"); using var context = new RouletteContext(optionsBuilder.Options); context.Bet.Add(gameBet); if (await context.SaveChangesAsync() > 0) { return(gameBet.Id); } return(0); } catch (Exception ex) { throw ex; } }
public bool ValidateBet(Entities.Bet betGame) { try { if (betGame.Number > 36) { return(false); } if (betGame.Color != Convert.ToInt32(ColorGame.Black) && betGame.Color != Convert.ToInt32(ColorGame.Red)) { return(false); } if (betGame.Amount > 10000) { return(false); } return(true); } catch (Exception ex) { throw ex; } }