public static Guid GetLastTeam(Guid playerID) { var ctx = new CybersportDBEntities(); PlayersInTeam sc = (PlayersInTeam)ctx.PlayersInTeams .Where(x => x.PlayerID == playerID && x.Finish == null) .OrderByDescending(x => x.Start).First(); return(sc.ID); }
public static void AddPlayerInTeam(Guid playerID, Guid teamID, DateTime date) { var ctx = new CybersportDBEntities(); Guid oldValueGuid = GetLastTeam(playerID); ctx.PlayersInTeams.First(x => x.ID == oldValueGuid && x.Finish == null).Finish = date; PlayersInTeam pit = new PlayersInTeam(); pit.ID = Guid.NewGuid(); pit.PlayerID = playerID; pit.TeamID = teamID; pit.Start = date; pit.Team = ctx.Teams.First(x => x.TeamID == teamID); pit.Player = ctx.Players.First(x => x.PlayerID == playerID); ctx.PlayersInTeams.Add(pit); ctx.SaveChanges(); }
/// <summary> /// Добавляет нового игрока в БД. /// </summary> /// <param name="player">Игрок</param> public static void CreatePlayer(Player player) { var ctx = new CybersportDBEntities(); player.PlayerID = Guid.NewGuid(); player.Country = ctx.Countries.ToList().First(c => c.CountryID == player.CountryID); player.Role = ctx.Roles.ToList().First(r => r.RoleID == player.RoleID); player.Rating = 0; player.PlayedMaps = 0; player.PlayedRounds = 0; PlayersInTeam pit = new PlayersInTeam(); pit.ID = Guid.NewGuid(); pit.Start = DateTime.Today; pit.PlayerID = player.PlayerID; pit.TeamID = ctx.Teams.Where(t => t.TeamID == Guid.Empty).FirstOrDefault().TeamID; player.PlayersInTeamsID = pit.ID; ctx.PlayersInTeams.Add(pit); ctx.Players.Add(player); ctx.SaveChanges(); }