示例#1
0
        // GET: LeagueTable
        public ActionResult Index(int id, int seasonId, int?union = null)
        {
            string sectionAlias;

            if (union.HasValue)
            {
                var section = _unionsRepo.GetSectionByUnionId(union.Value);
                sectionAlias = section.Alias;
            }
            else
            {
                var section = _sectionsRepo.GetByLeagueId(id);
                sectionAlias = section?.Alias;
            }

            LeagueRankService svc     = new LeagueRankService(id);
            RankLeague        rLeague = svc.CreateLeagueRankTable(seasonId);

            // rLeague.Stages = rLeague.Stages.Where(x => x.Groups.All(y => !y.IsAdvanced)).ToList();


            if (rLeague.Stages.Count == 0)
            {
                rLeague = svc.CreateEmptyRankTable(seasonId);
                rLeague.IsEmptyRankTable = true;
            }

            if (rLeague.Stages.Count == 0)
            {
                rLeague.Teams = _teamsRepo.GetTeams(seasonId, id).ToList();
            }
            rLeague.SeasonId = seasonId;

            switch (sectionAlias)
            {
            case GamesAlias.WaterPolo:
                return(View("Waterpolo/Index", rLeague));

            case GamesAlias.BasketBall:
                return(View("Basketball/Index", rLeague));

            case GamesAlias.NetBall:
            case GamesAlias.VolleyBall:
                return(View("Netball_VolleyBall/Index", rLeague));

            default:
                return(View(rLeague));
            }
        }
示例#2
0
        // GET: LeagueRank/Details/5
        public ActionResult Details(int id, int seasonId, int unionId)
        {
            var section      = _unionsRepo.GetSectionByUnionId(unionId);
            var sectionAlias = section.Alias;

            LeagueRankService svc     = new LeagueRankService(id);
            RankLeague        rLeague = svc.CreateLeagueRankTable(seasonId);

            if (rLeague == null)
            {
                rLeague = new RankLeague();
            }

            else if (rLeague.Stages.Count == 0)
            {
                rLeague = svc.CreateEmptyRankTable(seasonId);
                rLeague.IsEmptyRankTable = true;

                if (rLeague.Stages.Count == 0)
                {
                    if (User.IsInAnyRole(AppRole.Workers))
                    {
                        switch (usersRepo.GetTopLevelJob(base.AdminId))
                        {
                        case JobRole.UnionManager:
                            rLeague.Teams = _teamsRepo.GetTeams(seasonId, id).ToList();
                            break;

                        case JobRole.LeagueManager:
                            rLeague.Teams = _teamsRepo.GetTeams(seasonId, id).ToList();
                            break;

                        case JobRole.TeamManager:
                            rLeague.Teams = _teamsRepo.GetByManagerId(base.AdminId, seasonId);
                            break;
                        }
                    }
                    else
                    {
                        rLeague.Teams = _teamsRepo.GetTeams(seasonId, id).ToList();
                    }
                }
            }


            switch (sectionAlias)
            {
            case GamesAlias.WaterPolo:
                return(PartialView("Waterpolo/_Details", rLeague));

            case GamesAlias.BasketBall:
                return(PartialView("Basketball/_Details", rLeague));

            case GamesAlias.NetBall:
            case GamesAlias.VolleyBall:
                //TODO display extended table
                return(PartialView("Netball_VolleyBall/_Details", rLeague));

            default:
                return(PartialView("_Details", rLeague));
            }
        }