public AdminStatusDashboardViewModel Build() { var statuses = _repository.GetAll <LicenceStatus>(); var adminStatusRecordsLicenceViewModel = new AdminStatusDashboardViewModel(); var licenceStatuses = statuses.GroupJoin(_licenceRepository.GetAllEntriesWithStatusesAndAddress(), ls => ls.Id, l => l.CurrentStatusChange.Status.Id, (ls, licences) => new { ls, licences }); foreach (var licenceStatus in licenceStatuses) { adminStatusRecordsLicenceViewModel.AdminStatusCountViewModels.Add( new AdminStatusCountViewModel { LicenceStatusViewModel = _mapper.Map <LicenceStatusViewModel>(licenceStatus.ls), LicenceApplicationCount = licenceStatus.licences?.Count() ?? 0 } ); } return(adminStatusRecordsLicenceViewModel); }