public async Task <IEnumerable <EmployerFeedbackDto> > Handle(FeedbackQuery request, CancellationToken token) { var feedback = await _employerfeedbackRepository.GetEmployerFeedback(); if (feedback == null || !feedback.Any()) { return(Enumerable.Empty <EmployerFeedbackDto>()); } var groupedFeedback = feedback.GroupBy( x => new { x.Id, x.Ukprn, x.DateTimeCompleted, x.ProviderRating }, x => new ProviderAttributeDto { Name = x.AttributeName, Value = x.AttributeValue }, (t, f) => new EmployerFeedbackDto { DateTimeCompleted = t.DateTimeCompleted, ProviderRating = t.ProviderRating, Ukprn = t.Ukprn, ProviderAttributes = new List <ProviderAttributeDto>(f.Where(s => s.Name != null)) }); return(groupedFeedback); }
public FeedbacksTableDto GetAll(FeedbacksTableFilterModelDto feedbacksTableFilter) { FeedbackQuery feedbackQuery = _mapper.Map <FeedbackQuery>(feedbacksTableFilter); IPagedList <Feedback> feedback = _feedbackService.Get(feedbackQuery); List <FeedbacksTableRowDto> feedbacksTableRowDtos = _mapper.Map <IEnumerable <Feedback>, IEnumerable <FeedbacksTableRowDto> >(feedback).ToList(); return(new FeedbacksTableDto { FeedbacksTableRows = feedbacksTableRowDtos, TotalDisplayedRecords = feedback.TotalCount, TotalRecords = feedback.TotalCount }); }