Esempio n. 1
0
        public static int GetPromotionCost(TeamRank teamType)
        {
            switch (teamType)
            {
            case TeamRank.Solo:
                return(C.PROMOTION_POINTS_TO_SOLO_TEAM);

                break;

            case TeamRank.SmallTeam:
                return(C.PROMOTION_POINTS_TO_SMALL_TEAM);

                break;

            case TeamRank.BigTeam:
                return(C.PROMOTION_POINTS_TO_BIG_TEAM);

                break;

            case TeamRank.Department:
                return(C.PROMOTION_POINTS_TO_DEPARTMENT);

                break;

            default:
                return(100_000);
            }
        }
Esempio n. 2
0
        public static string GetFormattedTeamType(TeamType teamType, TeamRank rank, string formattedName = "")
        {
            if (formattedName.Length == 0)
            {
                formattedName = GetFormattedTeamType(teamType);
            }

            switch (rank)
            {
            /*case TeamRank.Solo:
             *  return $"Solo {formattedName}";
             *
             * case TeamRank.SmallTeam:
             *  return $"Small {formattedName}";
             *
             * case TeamRank.BigTeam:
             *  return $"Big {formattedName}";*/

            case TeamRank.Department:
                if (formattedName.Contains("Core"))
                {
                    return("Core Department");
                }

                switch (teamType)
                {
                case TeamType.CrossfunctionalTeam:
                    return("Crossfunctional Department");

                case TeamType.DevelopmentTeam:
                    return("Development Department");

                case TeamType.MarketingTeam:
                    return("Marketing Department");

                case TeamType.MergeAndAcquisitionTeam:
                    return("M&A Department");

                case TeamType.ServersideTeam:
                    return("Serverside Department");

                case TeamType.SupportTeam:
                    return("Support Department");

                default:
                    return(teamType + " DEPARTMENT");
                }

            default:
                return(formattedName);
                //return rank + " " + formattedName;
            }
        }
Esempio n. 3
0
        public static TeamRank GetNextTeamRank(TeamRank teamRank)
        {
            switch (teamRank)
            {
            case TeamRank.Solo:
                return(TeamRank.SmallTeam);

            case TeamRank.SmallTeam:
                return(TeamRank.BigTeam);

            default:
                return(TeamRank.Department);
            }
        }
Esempio n. 4
0
        public static int GetMaxTeamSize(TeamRank rank)
        {
            return(1);

            switch (rank)
            {
            case TeamRank.Solo: return(1);

            case TeamRank.SmallTeam: return(8);

            case TeamRank.BigTeam: return(20);

            case TeamRank.Department: return(100);

            default: return(100_000);
            }
        }
Esempio n. 5
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));
        }