示例#1
0
        /// <summary>
        /// Пересчитывает рейтинг и обновляет грид
        /// </summary>
        public void UpdateRatingAfterGrid()
        {
            //Пересичтывать рейтинг, только если это FedEdition
            if (!FCompetition.Info.ChangesRating)
            {
                lvRatingAfter.Visible = false;
                return;
            }

#if FEDITION
            string game_name = FCompetition.Info.SportType.Name;
            TA.RatingSystem.RatingSystem    RS = TA.RatingSystem.Builder.RatingSystemBuilder.CreateRatingSystem(FCompetition.Info.SportType.Id, game_name);
            TA.RatingSystem.CompetitionInfo competitionInfo = RS.Competitions.GetCompetitionById(FCompetition.Info.Id);

            lvRatingAfter.Clear();
            if (FCompetition.Info != null && competitionInfo != null)
            {
                DatabaseManager.CurrentDb.ReadCompetitionPlayersList(FCompetition, CompetitionPlayerList.SortByField.Name);
                foreach (CompetitionPlayerInfo player in FCompetition.PlayersResults)
                {
                    if (competitionInfo.Results.ContainsKey(player.Id))
                    {
                        TA.RatingSystem.PlayersCompetitionResult res = competitionInfo.Results[player.Id];
                        res.PlayerName = player.FullName;
                        lvRatingAfter.Add(res);
                    }
                }
            }
#endif
        }
示例#2
0
 private void ParseTree(TA.ExIm.XmlExporter exporter, TreeNode current_node, TreeNodeCollection nodes)
 {
     if (current_node != null)
     {
         if (current_node.Checked)
         {
             if (current_node.Tag is PlayerList)
             {
                 PlayerList players = current_node.Tag as PlayerList;
                 DatabaseManager.CurrentDb.ReadPlayerList(players);
                 exporter.AddPlayers(players.Values.ToArray());
             }
             if (current_node.Tag is TypeOfSport)
             {
                 TypeOfSport                  game = current_node.Tag as TypeOfSport;
                 RatingSystemBuilder          rsb  = new RatingSystemBuilder();
                 TA.RatingSystem.RatingSystem rs   = RatingSystemBuilder.CreateRatingSystem(game.Id, game.Name);
                 exporter.AddRatingList(game, rs.Players.Values.ToArray());
             }
             if (current_node.Tag is Tournament)
             {
                 Tournament         tour  = current_node.Tag as Tournament;
                 List <Competition> comps = new List <Competition>();
                 foreach (TreeNode node in current_node.Nodes)
                 {
                     if (node.Checked && node.Tag is Competition)
                     {
                         comps.Add(node.Tag as Competition);
                     }
                 }
                 if (comps.Count > 0)
                 {
                     exporter.AddTournament(tour.Info, comps.ToArray());
                 }
             }
         }
     }
     foreach (TreeNode node in nodes)
     {
         if (nodes.Count > 0)
         {
             ParseTree(exporter, node, node.Nodes);
         }
     }
 }