コード例 #1
0
        protected override Task <GetFeedbackSummaryResponseDto> ExecuteAsync(GetFeedbackSummaryRequestDto request, RequestContext context)
        {
            var averageRating  = _feedbackRepository.GetAverageRating();
            var feedbacksCount = _feedbackRepository.GetFeedbacksCount();
            var lastFeedbacks  = _feedbackRepository.GetLastFeedbacks(request.FeedbacksCount).ToArray();

            var textOnlyFeedbacksCount           = _feedbackRepository.GetTextOnlyFeedbacksCount();
            var textOnlyFeedbacksCountPercentage = Math.Round(textOnlyFeedbacksCount / (double)feedbacksCount * 100);

            var ratingOnlyFeedbacksCount           = _feedbackRepository.RatingOnlyFeedbacksCount();
            var ratingOnlyFeedbacksCountPercentage = Math.Round(ratingOnlyFeedbacksCount / (double)feedbacksCount * 100);

            var textAndRatingFeedbacksCount           = _feedbackRepository.TextAndRatingFeedbacksCount();
            var textAndRatingFeedbacksCountPercentage = Math.Round(textAndRatingFeedbacksCount / (double)feedbacksCount * 100);

            var response = new GetFeedbackSummaryResponseDto(averageRating, feedbacksCount, lastFeedbacks, textOnlyFeedbacksCount, ratingOnlyFeedbacksCount, textAndRatingFeedbacksCount, textAndRatingFeedbacksCountPercentage, ratingOnlyFeedbacksCountPercentage, textOnlyFeedbacksCountPercentage);

            return(Task.FromResult(response));
        }