Exemple #1
0
        public static void CreateCity(City city)
        {
            var ctx = new CybersportDBEntities();

            city.Country = ctx.Countries.ToList().First(c => c.CountryID == city.CountryID);
            ctx.Cities.Add(city);
            ctx.SaveChanges();
        }
Exemple #2
0
        public static void EditPlayer(Player oldPlayer)
        {
            var ctx = new CybersportDBEntities();

            oldPlayer.Country          = ctx.Countries.ToList().First(c => c.CountryID == oldPlayer.CountryID);
            oldPlayer.Role             = ctx.Roles.ToList().First(r => r.RoleID == oldPlayer.RoleID);
            ctx.Entry(oldPlayer).State = System.Data.Entity.EntityState.Modified;
            ctx.SaveChanges();
        }
Exemple #3
0
        public static void AddSetsInMatch(Set set, MatchesInTournament mit)
        {
            var ctx = new CybersportDBEntities();

            set.SetID               = Guid.NewGuid();
            set.MatchID             = mit.MathID;
            set.MatchesInTournament = ctx.MatchesInTournaments.FirstOrDefault(t => t.MathID == set.MatchID);
            set.Map = ctx.Maps.FirstOrDefault(t => t.MapID == set.MapID);
            ctx.Sets.Add(set);
            ctx.SaveChanges();
        }
Exemple #4
0
        public static void SetPlayersResults(Team team, int playedRounds)
        {
            var ctx     = new CybersportDBEntities();
            var players = ctx.PlayersInTeams.Where(p => p.TeamID == team.TeamID && p.Finish == null).ToList();

            foreach (PlayersInTeam pit in players)
            {
                pit.Player.PlayedRounds += playedRounds;
                ctx.SaveChanges();
            }
        }
Exemple #5
0
        public static void AddMatchInChamp(MatchesInTournament mit)
        {
            var ctx = new CybersportDBEntities();

            mit.MathID     = Guid.NewGuid();
            mit.Date       = DateTime.Today;
            mit.Tournament = ctx.Tournaments.FirstOrDefault(t => t.TournamentID == mit.TournamentID);
            mit.Team       = ctx.Teams.FirstOrDefault(t => t.TeamID == mit.FirstTeamID);
            mit.Team1      = ctx.Teams.FirstOrDefault(t => t.TeamID == mit.SecondTeamID);
            ctx.MatchesInTournaments.Add(mit);
            ctx.SaveChanges();
        }
Exemple #6
0
        public static void CreateTournament(Tournament champ)
        {
            var ctx = new CybersportDBEntities();

            if (ctx.Tournaments.Where(tm => tm.Name == champ.Name).Count() != 0)
            {
                throw new Exception("Уже есть чемпионат с таким названием.");
            }
            champ.City = ctx.Cities.ToList().First(c => c.CityID == champ.CityID);
            ctx.Tournaments.Add(champ);
            ctx.SaveChanges();
        }
Exemple #7
0
        public static void DeleteTeam(Guid id)
        {
            var  ctx        = new CybersportDBEntities();
            Team delTeam    = ctx.Teams.Where(x => x.ManagerID == id).First();
            var  playersIDs = ctx.PlayersInTeams.Where(p => p.TeamID == ctx.Teams.FirstOrDefault(t => t.ManagerID == id).TeamID).Select(s => s.PlayerID);

            foreach (Guid pID in playersIDs)
            {
                AddPlayerInTeam(pID, Guid.Empty, DateTime.Today);
            }
            delTeam.ManagerID = Guid.Empty;
            ctx.SaveChanges();
        }
Exemple #8
0
        public static void AddParticipant(Guid champID, Guid teamID)
        {
            var         ctx  = new CybersportDBEntities();
            var         tour = ctx.Tournaments.FirstOrDefault(t => t.TournamentID == champID);
            Participant pt   = new Participant();

            pt.TeamID       = teamID;
            pt.Team         = ctx.Teams.ToList().First(t => t.TeamID == teamID);
            pt.TournamentID = champID;
            pt.Place        = 0;
            pt.Money        = 0;
            tour.Participants.Add(pt);
            ctx.SaveChanges();
        }
Exemple #9
0
        public static void RefreshTeamMembers(List <Guid> newMembersIDs, Guid teamID)
        {
            var ctx            = new CybersportDBEntities();
            var allTeamPlayers = ctx.PlayersInTeams.Where(p => p.TeamID == teamID && p.Finish == null).ToList();

            for (int i = 0; i < allTeamPlayers.Count(); i++)
            {
                var search = newMembersIDs.FirstOrDefault(x => x == allTeamPlayers[i].PlayerID);
                if (search == Guid.Empty)
                {
                    AddPlayerInTeam(allTeamPlayers[i].PlayerID, Guid.Empty, DateTime.Today);
                }
            }
            ctx.SaveChanges();
        }
Exemple #10
0
        public static void CreateTeam()
        {
            var  ctx = new CybersportDBEntities();
            Team t   = new Team();

            t.TeamID   = Guid.Empty;
            t.Name     = "Без команды";
            t.Wins     = 0;
            t.Draws    = 0;
            t.Defeats  = 0;
            t.Rating   = 0;
            t.RegionID = ctx.Regions.First().RegionID;
            t.Region   = ctx.Regions.ToList().First(r => r.RegionID == t.RegionID);
            ctx.Teams.Add(t);
            ctx.SaveChanges();
        }
Exemple #11
0
        public static void CreateTeam(Team team)
        {
            var ctx = new CybersportDBEntities();

            if (ctx.Teams.Where(tm => tm.Name == team.Name).Count() != 0)
            {
                throw new Exception("Уже есть команда с таким названием.");
            }
            team.Wins    = 0;
            team.Draws   = 0;
            team.Defeats = 0;
            team.Rating  = 0;
            team.Region  = ctx.Regions.ToList().First(r => r.RegionID == team.RegionID);
            ctx.Teams.Add(team);
            ctx.SaveChanges();
        }
Exemple #12
0
        public static void DeletePlayer(Player player)
        {
            var ctx = new CybersportDBEntities();

            if (player.Role.Role1 == "Администратор")
            {
                throw new Exception("Нельзя удалять единственного администратора!");
            }
            Player delPlayer = new Player
            {
                PlayerID = player.PlayerID
            };

            ctx.Players.Attach(delPlayer);
            ctx.Players.Remove(delPlayer);
            ctx.SaveChanges();
        }
Exemple #13
0
        public static void EditTournament(Tournament oldChamp)
        {
            var ctx = new CybersportDBEntities();

            oldChamp.City = ctx.Cities.ToList().First(c => c.CityID == oldChamp.CityID);
            Tournament changedChamp = ctx.Tournaments.Where(x => x.TournamentID == oldChamp.TournamentID).First();

            changedChamp.Name             = oldChamp.Name;
            changedChamp.Money            = oldChamp.Money;
            changedChamp.CityID           = oldChamp.CityID;
            changedChamp.City             = oldChamp.City;
            changedChamp.Finish           = oldChamp.Finish;
            changedChamp.Start            = oldChamp.Start;
            changedChamp.MembersCount     = oldChamp.MembersCount;
            ctx.Entry(changedChamp).State = System.Data.Entity.EntityState.Modified;
            ctx.SaveChanges();
        }
Exemple #14
0
        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();
        }
Exemple #15
0
        public static void EditTeam(Team oldTeam)
        {
            var ctx = new CybersportDBEntities();

            oldTeam.Region = ctx.Regions.ToList().First(r => r.RegionID == oldTeam.RegionID);
            Team changedTeam = ctx.Teams.Where(x => x.TeamID == oldTeam.TeamID).First();

            changedTeam.Name             = oldTeam.Name;
            changedTeam.Money            = oldTeam.Money;
            changedTeam.Defeats          = oldTeam.Defeats;
            changedTeam.Draws            = oldTeam.Draws;
            changedTeam.Wins             = oldTeam.Wins;
            changedTeam.RegionID         = oldTeam.RegionID;
            changedTeam.Region           = oldTeam.Region;
            changedTeam.Rating           = oldTeam.Rating;
            ctx.Entry(changedTeam).State = System.Data.Entity.EntityState.Modified;
            ctx.SaveChanges();
        }
Exemple #16
0
        /// <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();
        }
Exemple #17
0
        public static void SetTeamResult(MatchesInTournament mit)
        {
            var ctx = new CybersportDBEntities();
            var li = ctx.Sets.Where(x => x.MatchID == mit.MathID).ToList();
            int firstTeamReasult = 0, secondTeamResult = 0;

            foreach (Set s in li)
            {
                firstTeamReasult += s.FirstTeam;
                secondTeamResult += s.SecondTeam;
            }
            Team t  = mit.Team;
            Team t1 = mit.Team1;

            if (firstTeamReasult > secondTeamResult)
            {
                t.Wins     += 1;
                t1.Defeats += 1;
                t.Rating   += 10;
            }
            if (firstTeamReasult == secondTeamResult)
            {
                t.Draws   += 1;
                t1.Draws  += 1;
                t.Rating  += 5;
                t1.Rating += 5;
            }
            if (firstTeamReasult < secondTeamResult)
            {
                t.Defeats += 1;
                t1.Wins   += 1;
                t1.Rating += 10;
            }
            SetPlayersResults(t, firstTeamReasult);
            SetPlayersResults(t1, secondTeamResult);
            EditTeam(t);
            EditTeam(t1);
            ctx.SaveChanges();
        }