示例#1
0
        public PagedResponse <ReviewDto> Execute(ReviewSearch search)
        {
            var query = _context.Reviews.Include(x => x.Movie).Include(x => x.User).AsQueryable();

            if (!string.IsNullOrEmpty(search.Title) || !string.IsNullOrWhiteSpace(search.Title)
                )
            {
                query = query.Where(x => x.Title.ToLower().Contains(search.Title.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.Text) || !string.IsNullOrWhiteSpace(search.Text)
                )
            {
                query = query.Where(x => x.Text.ToLower().Contains(search.Text.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.MovieTitle) || !string.IsNullOrWhiteSpace(search.MovieTitle))
            {
                query = query.Where(x => x.Movie.Title.ToLower().Contains(search.MovieTitle.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.Username) || !string.IsNullOrWhiteSpace(search.Username))
            {
                query = query.Where(x => x.User.Username.ToLower().Contains(search.Username.ToLower()));
            }

            if (search.MovieRating > 0 && search.MovieRating < 6)

            {
                query = query.Where(x => x.MovieRating == search.MovieRating);
            }

            var skipCount = search.PerPage * (search.Page - 1);

            var reponse = new PagedResponse <ReviewDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => mapper.Map <ReviewDto>(x)).ToList()
            };

            return(reponse);
        }
 public IActionResult Get([FromQuery] ReviewSearch search,
                          [FromServices] IGetReviewsQuery query)
 {
     return(Ok(executor.ExecuteQuery(query, search)));
 }
示例#3
0
 public object Get(ReviewSearch tag)
 {
     return Repository.GetAll();
 }
示例#4
0
        }                                                //Injected by IOC

        public object Get(ReviewSearch tag)
        {
            return(Repository.GetAll());
        }