private async Task UpdateUser(PlacedBet firstUserBet, int point, int place, BetUser user) { var placement = new FinishedBetPlacement { BetUserId = firstUserBet.BetUserId, BetId = firstUserBet.BetId, Place = place }; if (user.Placements == null) { user.Placements = new List <FinishedBetPlacement> { placement } } ; else { user.Placements.Add(placement); } user.Points += point; await _userBetRepository.UpdateUser(user); }
public async Task <bool> Bet(BetUser model) { var validate = this.ValidateStateRoulette(model.IdRoulette); if (validate.Result == 1) { var totalBet = this.ValidateBetRoulette(model.IdRoulette); if ((totalBet.Result + model.MoneyBet) <= 10000) { if (model.Number != null && model.Number >= 0 && model.Number <= 36) { model.Color = string.Empty; } else if (model.Color == null || (model.Color.ToUpper() != "NEGRO" && model.Color.ToUpper() != "ROJO")) { return(false); } var result = await _rouletteService.Bet(model); _cacheService.ClearKeysByPattern(string.Format(REDIS_CACHE_LIST_BET_KEY, model.IdRoulette)); return(result); } } return(false); }
public async Task UpdateUser(BetUser user) { var entity = await _set.FindAsync(user.BetUserId); if (entity != null) { _context.Entry(entity).CurrentValues.SetValues(user); await _context.SaveChangesAsync(); } }
public async Task <ActionResult> Bet([FromHeader] int IdUser, [FromBody] BetUser betUser) { betUser.IdUser = IdUser; var isCreated = await _rouletteManager.Bet(betUser); if (!isCreated) { return(StatusCode(201)); } return(StatusCode(500)); }
public ActionResult <RequestResponse> GenerateBetGameByUserIdAndByRoulette([Bind("rouletteId,userId,betValue,number,color")] BetUser betUser) { IBetGameBusiness gameBusiness = new BetGameBusiness(_context); RequestResponse response = gameBusiness.GenerateBetGameByUserIdAndByRoulette(betUser); if (response.SuccessFul == false) { return(BadRequest(error: new { error = response.MessageError })); } return(Content("Apuesta Generada con Exito")); }
public async Task <bool> Bet(BetUser model) { List <SqlParameter> _listParameter = new List <SqlParameter>(); _listParameter.Add(_baseData.GetParameter("idRoulette", model.IdRoulette)); _listParameter.Add(_baseData.GetParameter("moneyBet", model.MoneyBet)); _listParameter.Add(_baseData.GetParameter("idUser", model.IdUser)); _listParameter.Add(_baseData.GetParameter("number", model.Number)); _listParameter.Add(_baseData.GetParameter("color", model.Color)); int result = await _baseData.ExcecuteNonQueryAsync("sp_AddBet", _listParameter); return(result == 1 ? true : false); }
public async Task AddBetUser(BetUser betUser) { _set.Add(betUser); await _context.SaveChangesAsync(); }
public void Setup() { FakeRouletteId = Guid.Parse("8cc32b40-578d-47c1-bb9f-63240737243f"); FakeNotFoundRouletteId = Guid.Parse("00000000-0000-0000-0000-000000000000"); FakeOpenRouletteId = Guid.Parse("b5b1a0c6-efc7-43b4-91b1-024a0268a7cf"); FakeCloseRouletteId = Guid.Parse("90e031e0-9db9-4aa2-af94-832c6e13eed4"); FakeBetId = Guid.Parse("496929ae-c452-41ea-8b45-67e179b75f36"); FakeRoulette = GetRouletteFake(FakeRouletteId, false); FakeOpenRoulette = GetRouletteFake(FakeOpenRouletteId, true); FakeCloseRoulette = GetRouletteFake(FakeCloseRouletteId, false); FakeBet = GetBetFake(FakeBetId, 4, 5000m); FakeRouletteResult = GetRouletteResultFake(FakeRouletteId, new List <BetUser>() { FakeBet }); _rouletteRepositoryMock.Setup(x => x.GetById(It.Is <Guid>(x => x == FakeRouletteId))) .Returns(FakeRoulette); _rouletteRepositoryMock.Setup(x => x.GetById(It.Is <Guid>(x => x == FakeOpenRouletteId))) .Returns(FakeOpenRoulette); _rouletteRepositoryMock.Setup(x => x.Get()) .Returns(new List <dynamic>() { FakeRoulette, FakeRouletteResult }); _rouletteRepositoryMock.Setup(x => x.Create()) .Returns(FakeRouletteId); _rouletteRepositoryMock.Setup(x => x.OpenBets(It.Is <Guid>(x => x == FakeRouletteId))) .Returns(true); _rouletteRepositoryMock.Setup(x => x.CloseBets(It.Is <Guid>(x => x == FakeOpenRouletteId))) .Returns(FakeRouletteResult); _rouletteRepositoryMock.Setup(x => x.Exist(It.Is <Guid>(x => x == FakeRouletteId))) .Returns(true); _rouletteRepositoryMock.Setup( x => x.MakeBet( It.Is <Guid>(x => x == FakeOpenRouletteId), It.Is <Guid>(x => x == FakeBetId), FakeBet.Bet )).Returns(true); Roulette nullObj = null; _rouletteRepositoryMock.Setup(x => x.GetById(It.Is <Guid>(x => x == FakeNotFoundRouletteId))) .Returns(nullObj); _rouletteRepositoryMock.Setup(x => x.GetById(It.Is <Guid>(x => x == FakeOpenRouletteId))) .Returns(FakeOpenRoulette); _rouletteRepositoryMock.Setup(x => x.GetById(It.Is <Guid>(x => x == FakeCloseRouletteId))) .Returns(FakeCloseRoulette); _rouletteRepositoryMock.Setup(x => x.Exist(It.Is <Guid>(x => x == FakeNotFoundRouletteId))) .Returns(false); _rouletteRepositoryMock.Setup(x => x.Exist(It.Is <Guid>(x => x == FakeOpenRouletteId))) .Returns(true); _rouletteRepositoryMock.Setup(x => x.Exist(It.Is <Guid>(x => x == FakeCloseRouletteId))) .Returns(true); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers["UserId"] = FakeBetId.ToString(); RouletteController = new RoulettesController( _rouletteRepositoryMock.Object, _loggerMock.Object ) { ControllerContext = new ControllerContext() { HttpContext = httpContext, } }; }
public EmbedBuilder EmbedMyInfo(SocketGuild guild, SocketGuildUser user, BetUser betUser) { var sortedJoinedMembers = guild.Users.OrderBy(x => x.JoinedAt).ToList(); int index = sortedJoinedMembers.FindIndex(x => x.Id == user.Id); var roles = user.Roles.Where(x => !x.IsEveryone); EmbedBuilder builder = new EmbedBuilder(); StringBuilder sb = new StringBuilder(); sb.AppendLine($"Name: **{user.Username}#{user.Discriminator}**"); sb.Append($"Roles: "); if (!roles.Any()) { sb.Append("**None**"); } else { sb.Append("**"); foreach (var role in roles) { var ro = role.Name.Replace("@", String.Empty); sb.Append($"{StringExtensions.FirstCharToUpper(ro)} "); } sb.Append("**"); } sb.AppendLine(); sb.AppendLine($"Nickname: **{user.Nickname ?? "None"}**"); sb.AppendLine($"Account Created: **{user.CreatedAt:dd.MM.yy}**"); sb.Append($"Server Joined: **{user.JoinedAt?.ToString("dd.MM.yy")}** **`(#{index + 1})`**"); sb.AppendLine(); if (betUser != null && betUser.Points > 0) { sb.AppendLine(); sb.AppendLine("**Bets**"); sb.AppendLine($"Stonks: {betUser.Points}"); if (betUser.Placements != null) { if (betUser.Placements.Any(x => x.Place == 1)) { sb.AppendLine($"First Places: {betUser.Placements.Where(x => x.Place == 1).Count()} time(s)"); } if (betUser.Placements.Any(x => x.Place == 2)) { sb.AppendLine($"Second Places: {betUser.Placements.Where(x => x.Place == 2).Count()} time(s)"); } if (betUser.Placements.Any(x => x.Place == 3)) { sb.AppendLine($"Third Places: {betUser.Placements.Where(x => x.Place == 3).Count()} times(s)"); } } sb.AppendLine(); } if (user.Username.ToLower() == "bredesen") { sb.AppendLine("Big PP: **Yes**"); } builder.WithTitle($"Userinfo about {user.Username}"); builder.WithDescription(sb.ToString()); builder.WithThumbnailUrl(user.GetAvatarUrl()); builder.WithColor(Color.Gold); return(builder); }