public PageList <FeedbackModel> SearchFeedbacks(FeedbackSearchCondition condition) { var query = _shoppingContext.Feedbacks.AsNoTracking().AsQueryable(); if (!string.IsNullOrEmpty(condition.UserName)) { query = query.Where(p => p.Customer.UserName.ToLower().Contains(condition.UserName.ToLower())); } if (condition.IsReplied.HasValue) { if (condition.IsReplied.Value) { query = query.Where(p => p.FeedbackDetails.Count > 0); } else { query = query.Where(p => p.FeedbackDetails.Count == 0); } } if (condition.DateFrom.HasValue) { query = query.Where(p => p.CreatedDateTime >= condition.DateFrom.Value); } if (condition.DateTo.HasValue) { var dateTo = condition.DateTo.Value.AddDays(1); query = query.Where(p => p.CreatedDateTime < dateTo); } var feedbacks = query.OrderBy(o => o.CreatedDateTime).Skip(condition.PageSize * condition.PageNumber).Take(condition.PageSize).ToList(); return(new PageList <FeedbackModel>(Mapper.Map <List <FeedbackModel> >(feedbacks), query.Count())); }
public ActionResult List(DataSourceRequest command, FeedbackSearchCondition condition) { condition.PageSize = command.PageSize; condition.PageNumber = command.Page - 1; var feedbacks = _feedbackService.SearchFeedbacks(condition); var gridModel = new DataSourceResult() { Data = feedbacks.DataSource, Total = feedbacks.TotalItems }; return(Json(gridModel)); }
public ActionResult List() { var model = new FeedbackSearchCondition(); return(View(model)); }