public ReviewViewModelFactory(
     IReviewRepository reviewRepository,
     IDeveloperViewModelFactory developerViewModelFactory)
 {
     _reviewRepository          = reviewRepository;
     _developerViewModelFactory = developerViewModelFactory;
 }
Exemplo n.º 2
0
 public ReviewListViewModel(
     IReviewRepository reviewRepository,
     IReviewViewModelFactory reviewViewModelFactory,
     IDeveloperViewModelFactory developerViewModelFactory)
 {
     Items = reviewRepository.Items
             .OrderBy(review => review.DateTime)
             .Select(review => reviewViewModelFactory.Create(review.DateTime, developerViewModelFactory.Create(review.Developer)))
             .ToArray();
 }
        public ReviewRowListViewModel(
            IReviewRepository reviewRepository,
            IReviewViewModelFactory reviewViewModelFactory,
            IDeveloperViewModelFactory developerViewModelFactory)
        {
            var reviewRowViewModels = new List <IReviewRowViewModel>();

            foreach (var groupedReview in reviewRepository.Items
                     .OrderBy(r => r.DateTime)
                     .GroupBy(r => r.DateTime.Date))
            {
                var developerViewModels = groupedReview.Select(review => review.Developer)
                                          .OrderBy(developer => developer.Team)
                                          .Select(developerViewModelFactory.Create);

                reviewRowViewModels.Add(reviewViewModelFactory.CreateRow(groupedReview.Key, developerViewModels.ToArray()));
            }

            Headers = new[] { "Date" }.Concat(Enum.GetValues(typeof(Team)).Cast <Team>().Select(team => team.ToString()));
            Rows    = reviewRowViewModels;
        }