/// <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 }
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); } } }