public async Task <IActionResult> Details(Guid id)
        {
            var currentUser = await User.GetApplicationUser(_userManager);

            var league = _leaguesRepository.GetUserAuthorizedLeague(currentUser, id);

            if (league == null)
            {
                return(NotFound());
            }

            return(View(new LeagueDetailsViewModel
            {
                League = league,
                Players = _context.LeaguePlayers.Include(lp => lp.User).Where(lp => lp.LeagueId == league.Id).ToList()
            }));
        }
        public async Task <IActionResult> Index(Guid leagueId, int page = 0)
        {
            const int pageSize = 20;

            var currentUser = await User.GetApplicationUser(_userManager);

            var league = _leaguesRepository.GetUserAuthorizedLeague(currentUser, leagueId);

            if (league == null)
            {
                return(NotFound());
            }

            var matchesCount = _context.Match.Count(m => m.LeagueId == leagueId);
            var pagesCount   = (int)Math.Ceiling((double)matchesCount / pageSize);

            if (page >= pagesCount && page != 0)
            {
                return(NotFound());
            }

            var matches =
                _context.Match.Where(m => m.LeagueId == leagueId)
                .OrderByDescending(m => m.Date)
                .Skip(pageSize * page)
                .Take(pageSize)
                .Include(m => m.FirstPlayer)
                .Include(m => m.SecondPlayer)
                .Include(m => m.League)
                .ToList();

            return(View(new MatchesViewModel(matches, leagueId, pagesCount, page)));
        }
        // GET: Invites/Create
        public async Task <IActionResult> Create(Guid?leagueId)
        {
            var currentUser = await User.GetApplicationUser(_userManager);

            var leagues = _leaguesRepository.GetLeagues(currentUser).ToList();

            if (leagueId.HasValue && _leaguesRepository.GetUserAuthorizedLeague(currentUser, leagueId.Value) == null)
            {
                return(NotFound());
            }

            if (!leagues.Any())
            {
                return(RedirectToAction("NoLeagues", "Leagues"));
            }

            return(View(new InviteViewModel
            {
                LeagueId = leagueId,
                Leagues = leagues
            }));
        }