public async Task LoadAsync(string applicationId, string marketId)
        {
            if (marketId == "ww")
            {
                var application = await ApplicationRepository.GetAsync(applicationId);

                if (application != null)
                {
                    AverageRating        = Math.Round(application.AverageRating, 1, MidpointRounding.ToEven);
                    Star1Count           = application.OneStarRatingsCount;
                    Star2Count           = application.TwoStarsRatingsCount;
                    Star3Count           = application.ThreeStarsRatingsCount;
                    Star4Count           = application.FourStarsRatingsCount;
                    Star5Count           = application.FiveStarsRatingsCount;
                    RatingsCount         = application.TotalRatingsCount;
                    NewRatingsCount      = 0;
                    ReviewsCount         = application.TotalReviewsCount;
                    NewReviewsCount      = application.UnreadReviewsCount;
                    AcquisitionsCount    = 0;
                    NewAcquisitionsCount = 0;
                }
            }
            else
            {
                var market = await ApplicationMarketRepository.GetAsync(applicationId, marketId);

                if (market != null)
                {
                    AverageRating        = Math.Round(market.AverageRating, 1, MidpointRounding.ToEven);
                    Star1Count           = market.OneStarRatingsCount;
                    Star2Count           = market.TwoStarsRatingsCount;
                    Star3Count           = market.ThreeStarsRatingsCount;
                    Star4Count           = market.FourStarsRatingsCount;
                    Star5Count           = market.FiveStarsRatingsCount;
                    RatingsCount         = market.TotalRatingsCount;
                    NewRatingsCount      = 0;
                    ReviewsCount         = market.TotalReviewsCount;
                    NewReviewsCount      = market.UnreadReviewsCount;
                    AcquisitionsCount    = 0;
                    NewAcquisitionsCount = 0;
                }
            }
        }
        public async Task LoadAsync(string applicationId, string marketId)
        {
            _reviews.Clear();

            var showMarketFlag = false;
            var reviews        = new List <Tuple <Review, string> >();

            if (marketId == "ww")
            {
                showMarketFlag = true;

                var application = await ApplicationRepository.GetAsync(applicationId);

                if (application != null)
                {
                    foreach (var market in application.Markets)
                    {
                        reviews.AddRange(market.Reviews.Select(r => Tuple.Create(r, market.MarketId)));
                    }
                }
            }
            else
            {
                var market = await ApplicationMarketRepository.GetAsync(applicationId, marketId);

                if (market != null)
                {
                    reviews.AddRange(market.Reviews.Select(r => Tuple.Create(r, market.MarketId)));
                }
            }

            var viewModels = reviews.Select(r => r.Item1.ToViewModel(r.Item2, showMarketFlag))
                             .OrderByDescending(r => r.Date);

            foreach (var viewModel in viewModels)
            {
                _reviews.Add(viewModel);
            }
        }