public async Task <IEnumerable <MatchBet> > SaveBets(SaveMatchBetsViewModel model)
        {
            var gamblerBets = await _dbContext.MatchBets.Include(m => m.Match)
                              .Where(m => m.GamblerId == model.GamblerId && m.Match.RoundId == model.RoundId).ToListAsync();

            foreach (var bet in model.Bets)
            {
                var betToUpdate = gamblerBets.FirstOrDefault(b => b.Id == bet.Id && !b.TeamAScore.HasValue);

                if (betToUpdate == null)
                {
                    continue;
                }

                betToUpdate.TeamAScore = bet.TeamAScore;
                betToUpdate.TeamBScore = bet.TeamBScore;

                _dbContext.Entry(betToUpdate).State = EntityState.Modified;
            }

            await _dbContext.SaveChangesAsync();

            return(gamblerBets);
        }
Esempio n. 2
0
        public async Task <IActionResult> SaveBets([FromBody] SaveMatchBetsViewModel model)
        {
            var bets = await _matchBetService.SaveBets(model);

            return(Json(Mapper.Map <IEnumerable <MatchBet>, IEnumerable <MatchBetViewModel> >(bets)));
        }