Пример #1
0
        public PagedResponse <GenreDto> Execute(GenreSerach search)
        {
            var query = _context.Genres.AsQueryable();

            if (!string.IsNullOrEmpty(search.Name) || !string.IsNullOrWhiteSpace(search.Name))
            {
                query = query.Where(x => x.Name.ToLower().Contains(search.Name.ToLower()));
            }
            var skipCount = search.PerPage * (search.Page - 1);

            var response = new PagedResponse <GenreDto>
            {
                TotalCount   = query.Count(),
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                Items        = query.Skip(skipCount)
                               .Take(search.PerPage)
                               .Select(x => new GenreDto
                {
                    Id   = x.Id,
                    Name = x.Name
                }).ToList()
            };

            return(response);
        }
Пример #2
0
        public IActionResult Get(
            [FromQuery] GenreSerach search,
            [FromServices] IGetGenresQuery query)
        {
            var result = _executor.ExecuteQuery(query, search);

            return(Ok(result));
        }