Пример #1
0
        public PagedResponse <UlogaDto> Execute(UlogaSearch search)
        {
            var query = context.Uloge.AsQueryable();

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

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

            return(response);
        }
Пример #2
0
        public PagedResponse <UlogaWithIdDto> Execute(UlogaSearch search)
        {
            var upit = _context.Uloge.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 <UlogaWithIdDto>
            {
                TrenutnaStrana   = search.Strana,
                StavkePoStranici = search.PoStrani,
                UkupniBrojStavki = upit.Count(),
                Stavke           = upit.Skip(preskokBrojenja).Take(search.PoStrani).Select(x => new UlogaWithIdDto
                {
                    IdUloga = x.Id,
                    Naziv   = x.Naziv
                }).ToList()
            };

            return(odgovor);
        }
Пример #3
0
 public IActionResult Get([FromQuery] UlogaSearch search, [FromServices] IGetUlogeQuery query)
 {
     return(Ok(executor.ExecuteQuery(query, search)));
 }