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); } }