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)); }