Esempio n. 1
0
    public async Task <IActionResult> RoyaleStandings(int year, int quarter)
    {
        IReadOnlyList <RoyalePublisher> publishers = await _royaleService.GetAllPublishers(year, quarter);

        var publishersToShow = publishers.Where(x => x.PublisherGames.Any()).OrderByDescending(x => x.GetTotalFantasyPoints());
        int ranking          = 1;
        List <RoyalePublisherViewModel> viewModels = new List <RoyalePublisherViewModel>();
        var masterGameTags = await _interLeagueService.GetMasterGameTags();

        IReadOnlyDictionary <FantasyCriticUser, IReadOnlyList <RoyaleYearQuarter> > previousWinners = await _royaleService.GetRoyaleWinners();

        foreach (var publisher in publishersToShow)
        {
            int?thisRanking = null;
            if (publisher.GetTotalFantasyPoints() > 0)
            {
                thisRanking = ranking;
                ranking++;
            }

            if (!previousWinners.TryGetValue(publisher.User, out var winningQuarters))
            {
                winningQuarters = new List <RoyaleYearQuarter>();
            }

            var currentDate = _clock.GetToday();
            var vm          = new RoyalePublisherViewModel(publisher, currentDate, thisRanking, winningQuarters, masterGameTags);
            viewModels.Add(vm);
        }

        return(Ok(viewModels));
    }
Esempio n. 2
0
    public async Task <IActionResult> GetUserRoyalePublisher(int year, int quarter)
    {
        var currentUserResult = await GetCurrentUser();

        if (currentUserResult.IsFailure)
        {
            return(BadRequest(currentUserResult.Error));
        }
        var currentUser = currentUserResult.Value;

        var yearQuarter = await _royaleService.GetYearQuarter(year, quarter);

        if (yearQuarter is null)
        {
            return(BadRequest());
        }

        RoyalePublisher?publisher = await _royaleService.GetPublisher(yearQuarter, currentUser);

        if (publisher is null)
        {
            return(NotFound());
        }

        IReadOnlyList <RoyaleYearQuarter> quartersWon = await _royaleService.GetQuartersWonByUser(publisher.User);

        var currentDate    = _clock.GetToday();
        var masterGameTags = await _interLeagueService.GetMasterGameTags();

        var viewModel = new RoyalePublisherViewModel(publisher, currentDate, null, quartersWon, masterGameTags);

        return(Ok(viewModel));
    }
        public async Task <IActionResult> GetRoyalePublisher(Guid id)
        {
            Maybe <RoyalePublisher> publisher = await _royaleService.GetPublisher(id);

            if (publisher.HasNoValue)
            {
                return(NotFound());
            }

            var viewModel = new RoyalePublisherViewModel(publisher.Value, _clock, null);

            return(Ok(viewModel));
        }
Esempio n. 4
0
        public async Task <IActionResult> GetRoyalePublisher(Guid id)
        {
            Maybe <RoyalePublisher> publisher = await _royaleService.GetPublisher(id);

            if (publisher.HasNoValue)
            {
                return(NotFound());
            }

            IReadOnlyList <RoyaleYearQuarter> quartersWon = await _royaleService.GetQuartersWonByUser(publisher.Value.User);

            var viewModel = new RoyalePublisherViewModel(publisher.Value, _clock, null, quartersWon);

            return(Ok(viewModel));
        }
Esempio n. 5
0
    public async Task <IActionResult> GetRoyalePublisher(Guid id)
    {
        RoyalePublisher?publisher = await _royaleService.GetPublisher(id);

        if (publisher is null)
        {
            return(NotFound());
        }

        IReadOnlyList <RoyaleYearQuarter> quartersWon = await _royaleService.GetQuartersWonByUser(publisher.User);

        var currentDate    = _clock.GetToday();
        var masterGameTags = await _interLeagueService.GetMasterGameTags();

        var viewModel = new RoyalePublisherViewModel(publisher, currentDate, null, quartersWon, masterGameTags);

        return(Ok(viewModel));
    }
        public async Task <IActionResult> GetUserRoyalePublisher(int year, int quarter)
        {
            var currentUser = await _userManager.FindByNameAsync(User.Identity.Name);

            var yearQuarter = await _royaleService.GetYearQuarter(year, quarter);

            if (yearQuarter.HasNoValue)
            {
                return(BadRequest());
            }

            Maybe <RoyalePublisher> publisher = await _royaleService.GetPublisher(yearQuarter.Value, currentUser);

            if (publisher.HasNoValue)
            {
                return(NotFound());
            }

            var viewModel = new RoyalePublisherViewModel(publisher.Value, _clock, null);

            return(Ok(viewModel));
        }
        public async Task <IActionResult> RoyaleStandings(int year, int quarter)
        {
            IReadOnlyList <RoyalePublisher> publishers = await _royaleService.GetAllPublishers(year, quarter);

            var publishersToShow = publishers.Where(x => x.PublisherGames.Any()).OrderByDescending(x => x.GetTotalFantasyPoints());
            int ranking          = 1;
            List <RoyalePublisherViewModel> viewModels = new List <RoyalePublisherViewModel>();

            foreach (var publisher in publishersToShow)
            {
                int?thisRanking = null;
                if (publisher.GetTotalFantasyPoints() > 0)
                {
                    thisRanking = ranking;
                    ranking++;
                }

                var vm = new RoyalePublisherViewModel(publisher, _clock, thisRanking);
                viewModels.Add(vm);
            }

            return(Ok(viewModels));
        }