/// <summary> /// Toggle Captain/Major player by any player of the team on the day of the match /// </summary> public Match ToggleMatchPlayer(MatchPlayer matchPlayer) { Debug.Assert(matchPlayer.Status == PlayerMatchStatus.Captain || matchPlayer.Status == PlayerMatchStatus.Major); using (var dbContext = new TtcDbContext()) { var match = dbContext.Matches.Find(matchPlayer.MatchId); var existingPlayer = dbContext.MatchPlayers .Where(x => x.MatchId == matchPlayer.MatchId && x.PlayerId == matchPlayer.PlayerId) .FirstOrDefault(x => x.Status == matchPlayer.Status); match.Block = matchPlayer.Status; if (existingPlayer != null) { dbContext.MatchPlayers.Remove(existingPlayer); } else { dbContext.MatchPlayers.Add(Mapper.Map<MatchPlayer, MatchPlayerEntity>(matchPlayer)); } dbContext.SaveChanges(); } var newMatch = GetMatch(matchPlayer.MatchId); return newMatch; }
public Match SetMyFormation(MatchPlayer matchPlayer) { using (var dbContext = new TtcDbContext()) { var existingPlayer = dbContext.MatchPlayers .Include(x => x.Match) .Where(x => x.MatchId == matchPlayer.MatchId && x.PlayerId == matchPlayer.PlayerId) .FirstOrDefault(x => x.Status != PlayerMatchStatus.Captain && x.Status != PlayerMatchStatus.Major); if (existingPlayer != null) { existingPlayer.Status = matchPlayer.Status; existingPlayer.StatusNote = matchPlayer.StatusNote; } else { var verslagSpeler = Mapper.Map<MatchPlayer, MatchPlayerEntity>(matchPlayer); dbContext.MatchPlayers.Add(verslagSpeler); } dbContext.SaveChanges(); } var newMatch = GetMatch(matchPlayer.MatchId); return newMatch; }