예제 #1
0
        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);
        }
예제 #2
0
        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
            });
        }