示例#1
0
 public RankChangedEventArgs(ulong userId, LeagueRank oldRank, LeagueRank newRank, bool isUp)
 {
     UserId  = userId;
     OldRank = oldRank;
     NewRank = newRank;
     IsUp    = isUp;
 }
示例#2
0
 static async Task <RiftRole> GetRoleByLeagueRank(LeagueRank rank)
 {
     return(rank switch
     {
         LeagueRank.Iron => await DB.Roles.GetAsync(58),
         LeagueRank.Bronze => await DB.Roles.GetAsync(25),
         LeagueRank.Silver => await DB.Roles.GetAsync(33),
         LeagueRank.Gold => await DB.Roles.GetAsync(3),
         LeagueRank.Platinum => await DB.Roles.GetAsync(11),
         LeagueRank.Diamond => await DB.Roles.GetAsync(8),
         LeagueRank.Master => await DB.Roles.GetAsync(79),
         LeagueRank.GrandMaster => await DB.Roles.GetAsync(71),
         LeagueRank.Challenger => await DB.Roles.GetAsync(23),
         _ => null
     });
示例#3
0
        public IHttpActionResult Rank(int id, string ln)
        {
            CultureModel.ChangeCulture(ln);
            var leagueRank = new LeagueRank
            {
                Stages = new List <StageRank>()
            };

            int?seasonId              = seasonsRepo.GetLastSeasonByLeagueId(id);
            LeagueRankService svc     = new LeagueRankService(id);
            RankLeague        rLeague = svc.CreateLeagueRankTable(seasonId) ?? new RankLeague();

            foreach (var stage in rLeague.Stages)
            {
                if (stage.Groups.All(g => g.IsAdvanced))
                {
                    continue;
                }
                var rankStage = new StageRank();
                var nameStage = "";
                if (stage.Groups.Any() && stage.Groups.All(g => g.IsAdvanced))
                {
                    var firstGroup = stage.Groups.FirstOrDefault();
                    if (firstGroup != null && firstGroup.PlayoffBrackets != null)
                    {
                        int numOfBrackets = (int)firstGroup.PlayoffBrackets;
                        switch (numOfBrackets)
                        {
                        case 1:
                            nameStage = Messages.Final; break;

                        case 2:
                            nameStage = Messages.Semifinals; break;

                        case 4:
                            nameStage = Messages.Quarter_finals;
                            break;

                        case 8:
                            nameStage = Messages.Final_Eighth;
                            break;

                        default:
                            nameStage = (numOfBrackets * 2) + Messages.FinalNumber;
                            break;
                        }
                    }
                }
                else
                {
                    nameStage = Messages.Stage + stage.Number;
                }

                rankStage.NameStage = nameStage;
                rankStage.Groups    = new List <GroupRank>();

                foreach (var group in stage.Groups)
                {
                    var rankGroup = new GroupRank
                    {
                        NameGroup = @group.Title,
                        Teams     = new List <TeamRank>()
                    };

                    for (var i = 0; i < group.Teams.Count(); i++)
                    {
                        var rankTeam = new TeamRank
                        {
                            Team = @group.Teams[i].Title,
                            Logo = @group.Teams[i].Logo
                        };

                        int numOfBrackets = (int)group.PlayoffBrackets;
                        rankTeam.Position = i % (numOfBrackets) == 0 ? (i + 1).ToString() : "-";

                        rankGroup.Teams.Add(rankTeam);
                    }
                    rankStage.Groups.Add(rankGroup);
                }
                leagueRank.Stages.Add(rankStage);
            }

            return(Ok(leagueRank));
        }