Пример #1
0
        /// <summary>
        /// Добавляет в базу данных инфу о:
        /// прошедшем матче,
        /// участвоваших в нем командах,
        /// игроках, входящих в эти команды
        /// </summary>
        /// <param name="match">Прошедший матч</param>
        public void AddMatch(Match match)
        {
            Matches.Add(match);

            Team foundTeam = Teams.Find(u => u.Name == match.Left.Name);

            if (foundTeam == null)
            {
                Teams.Add(match.Left);
            }

            foundTeam = Teams.Find(u => u.Name == match.Right.Name);
            if (foundTeam == null)
            {
                Teams.Add(match.Right);
            }

            foreach (Gamer gamer in match.Right.Gamers)
            {
                Gamer foundGamer = Gamers.Find(u => u.Name == gamer.Name);
                if (foundGamer == null)
                {
                    Gamers.Add(gamer);
                }
                else
                {
                    foundGamer.AddWin(gamer.Wins);
                    foundGamer.AddLoose(gamer.Looses);
                }
            }

            foreach (Gamer gamer in match.Left.Gamers)
            {
                Gamer foundAnotherGamer = Gamers.Find(u => u.Name == gamer.Name);
                if (foundAnotherGamer == null)
                {
                    Gamers.Add(gamer);
                }
                else
                {
                    foundAnotherGamer.AddWin(gamer.Wins);
                    foundAnotherGamer.AddLoose(gamer.Looses);
                }
            }
        }