public List <Feedback> ListFeedbackWithQuery(FeedbackQueryDto feedbackQueryDto) { ClientApp clientApp = null; if (feedbackQueryDto.ClientToken != null) { clientApp = FindClientWithToken(feedbackQueryDto.ClientToken); } var feedbacks = this._sfsDbContext.Feedbacks .Include(x => x.ClientApp) .Where( fb => (clientApp == null || fb.ClientAppId.Equals(clientApp.ClientAppId)) && (fb.FeedbackProcessed == feedbackQueryDto.ShowHandled) && (feedbackQueryDto.FeedbackType == null || fb.FeedbackType.Equals(feedbackQueryDto.FeedbackType, StringComparison.CurrentCultureIgnoreCase)) && (feedbackQueryDto.From == DateTime.MinValue || fb.FeedbackDate >= feedbackQueryDto.From) && (feedbackQueryDto.To == DateTime.MinValue || fb.FeedbackDate <= feedbackQueryDto.To) ) .ToList(); feedbacks.ForEach(feedback => feedback.FeedbackSource = feedback.ClientApp.ClientName); return(feedbacks); }
public IActionResult QueryFeedback([FromBody] FeedbackQueryDto query) { return(Ok(this._feedbackService.ListFeedbackWithQuery(query))); }