public async Task SaveBetResults(IEnumerable <BetResultEntity> entities) { foreach (var entity in entities) { BetResultEntity existingEntity = null; existingEntity = await this.betResultsRepository.GetAsync(entity.Id); if (existingEntity != null) { existingEntity.HitAwayGoals = entity.HitAwayGoals; existingEntity.HitExactResult = entity.HitExactResult; existingEntity.HitGoalsDif = entity.HitGoalsDif; existingEntity.HitHomeGoals = entity.HitHomeGoals; existingEntity.HitPenalties = entity.HitPenalties; existingEntity.HitResult = entity.HitResult; existingEntity.Points = entity.Points; existingEntity.ExtraPoint = entity.ExtraPoint; } else { existingEntity = entity; } await this.betResultsRepository.SaveAsync(existingEntity); } }
private UserBetResultViewModel ToBetResultViewModel(MatchViewModel match, BetResultEntity betResult, MatchBetEntity bet) { return(new UserBetResultViewModel { AwayTeam = match.AwayTeam, AwayTeamCode = match.AwayTeamCode, AwayTeamGoals = match.AwayTeamGoals.Value, AwayTeamPenalties = match.AwayTeamPenalties, HomeTeam = match.HomeTeam, HomeTeamCode = match.HomeTeamCode, HomeTeamGoals = match.HomeTeamGoals.Value, HomeTeamPenalties = match.HomeTeamPenalties, PenaltiesDefinition = match.PenaltiesDefinition, PlayedOn = match.PlayedOn, Stage = match.Stage, BetAwayTeamGoals = bet.AwayGoals, BetAwayTeamPenalties = bet.AwayPenalties, BetHomeTeamGoals = bet.HomeGoals, BetHomeTeamPenalties = bet.HomePenalties, Points = betResult.Points, HitResult = betResult.HitResult, HitExactResult = betResult.HitExactResult, ExtraPoint = betResult.ExtraPoint, BetPenalties = match.Stage.SupportPenalties() && bet.AwayGoals == bet.HomeGoals }); }
public BetResultEntity GetBetResult(MatchBetEntity bet, MatchResultEntity result) { var hitPenalties = false; if (result.HomePenalties.HasValue && result.AwayPenalties.HasValue) { hitPenalties = result.HomePenalties.Equals(bet.HomePenalties) && result.AwayPenalties.Equals(bet.AwayPenalties); } var betResult = new BetResultEntity { Id = bet.Id, UserId = bet.UserId, MatchId = bet.MatchId, ResultId = result.Id, HitResult = bet.Result.Equals(result.Result), HitHomeGoals = bet.HomeGoals.Equals(result.HomeGoals), HitAwayGoals = bet.AwayGoals.Equals(result.AwayGoals), HitGoalsDif = bet.HomeGoals - bet.AwayGoals == result.HomeGoals - result.AwayGoals, HitExactResult = bet.HomeGoals.Equals(result.HomeGoals) && bet.AwayGoals.Equals(result.AwayGoals), HitPenalties = hitPenalties }; var betPoints = 0; betPoints += betResult.HitResult ? BetResultPointsHelper.BetResultPoints["HitResult"] : 0; if (betResult.HitPenalties) { betPoints += BetResultPointsHelper.BetResultPoints["HitPenalties"]; betResult.ExtraPoint = true; } if (betResult.HitExactResult) { betPoints += BetResultPointsHelper.BetResultPoints["HitExactResult"]; } else { betPoints += betResult.HitHomeGoals ? BetResultPointsHelper.BetResultPoints["HitHomeGoals"] : 0; betPoints += betResult.HitAwayGoals ? BetResultPointsHelper.BetResultPoints["HitAwayGoals"] : 0; betPoints += betResult.HitGoalsDif && !bet.HomeGoals.Equals(bet.AwayGoals) ? BetResultPointsHelper.BetResultPoints["HitGoalsDif"] : 0; betResult.ExtraPoint = betResult.ExtraPoint || betResult.HitHomeGoals || betResult.HitAwayGoals || (betResult.HitGoalsDif && !bet.HomeGoals.Equals(bet.AwayGoals)); } betResult.Points = betPoints; return(betResult); }
public CloseBetResponse BuilBetResponse(int betId) { try { BetResultEntity objBetResult = betResultModel.GetOneBetResult(betId); CloseBetResponse closeBetResponse = new CloseBetResponse { BetResult = new BetResultResponse { Number = objBetResult.Number, Color = Enum.GetName(typeof(ColorBetEnum), objBetResult.Color) }, GamblingResult = cGambling.BuildGamblingResultResponse(betId) }; return(closeBetResponse); } catch (Exception ex) { throw ex; } }
private BetResultEntity GenerateBetResult(List <BetEntity> listBets) { BetResultEntity result = new BetResultEntity(); Random random = new Random(); result.WinningNumber = random.Next(0, 36); result.WinningColor = result.WinningNumber % 2 == 0 ? "rojo" : "negro"; List <BetEntity> lstBetW = listBets.Where(x => x.Color.Trim().ToLower().Equals(result.WinningColor)).ToList(); if (lstBetW.Count > 0) { result.ListWinners.AddRange(CalculateWinningValues("color", lstBetW)); } lstBetW = listBets.Where(x => x.Color.Trim().ToLower().Equals(result.WinningNumber)).ToList(); if (lstBetW.Count > 0) { result.ListWinners.AddRange(CalculateWinningValues("numero", lstBetW)); } result.ListBets = listBets; MovementsInDatabase(listBets); return(result); }