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); }
public async Task <IActionResult> SaveBets([FromBody] SaveMatchBetsViewModel model) { var bets = await _matchBetService.SaveBets(model); return(Json(Mapper.Map <IEnumerable <MatchBet>, IEnumerable <MatchBetViewModel> >(bets))); }