public PagedResponse <KategorijaSearchDto> Execute(KategorijaSearch search) { var query = context.Kategorije.AsQueryable(); if (!string.IsNullOrEmpty(search.NazivKategorije) || !string.IsNullOrWhiteSpace(search.NazivKategorije)) { query = query.Where(x => x.NazivKategorije.ToLower().Contains(search.NazivKategorije.ToLower())); } var skipCount = search.PerPage * (search.Page - 1); var response = new PagedResponse <KategorijaSearchDto> { CurrentPage = search.Page, ItemsPerPage = search.PerPage, TotalCount = query.Count(), Items = query.Skip(skipCount).Take(search.PerPage).Select(x => new KategorijaSearchDto { IdKategorija = x.Id, NazivKategorije = x.NazivKategorije }).ToList() }; return(response); }
public PagedResponse <KategorijaWithIdDto> Execute(KategorijaSearch search) { var upit = _context.Kategorije.AsQueryable(); if (!string.IsNullOrEmpty(search.Naziv) || !string.IsNullOrWhiteSpace(search.Naziv)) { upit = upit.Where(x => x.Naziv.ToLower().Contains(search.Naziv.ToLower())); } var preskokBrojenja = search.PoStrani * (search.Strana - 1); var odgovor = new PagedResponse <KategorijaWithIdDto> { TrenutnaStrana = search.Strana, StavkePoStranici = search.PoStrani, UkupniBrojStavki = upit.Count(), Stavke = upit.Skip(preskokBrojenja).Take(search.PoStrani).Select(x => new KategorijaWithIdDto { Id = x.Id, Naziv = x.Naziv }).ToList() }; return(odgovor); }
public IActionResult Get([FromQuery] KategorijaSearch search, [FromServices] IGetKategorijeQuery query) { return(Ok(excutor.ExecuteQuery(query, search))); }