Exemple #1
0
        public PagedResponse <KorisnikDto> Izvrsi(KorisnikSearch search)
        {
            var query = _context.Korisnici.AsQueryable();

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

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

            var response = new PagedResponse <KorisnikDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => new KorisnikDto
                {
                    Id            = x.Id,
                    KorisnickoIme = x.KorisnickoIme,
                    Ime           = x.Ime,
                    Prezime       = x.Prezime,
                    Email         = x.Email,
                    Lozinka       = x.Lozinka,
                    GrupaId       = x.GrupaId
                }).ToList()
            };

            return(response);
        }
Exemple #2
0
        public PagedResponse <GetKorisnikDto> Execute(KorisnikSearch search)
        {
            var upit = _context.Korisnici.Include(x => x.Uloga).AsQueryable();

            if (!string.IsNullOrEmpty(search.SearchZaKorisnike) || !string.IsNullOrWhiteSpace(search.SearchZaKorisnike))
            {
                upit = upit.Where(x => x.Ime.ToLower().Contains(search.SearchZaKorisnike.ToLower()) || x.Prezime.ToLower().Contains(search.SearchZaKorisnike.ToLower()));
            }
            var preskokBrojenja = search.PoStrani * (search.Strana - 1);
            var odgovor         = new PagedResponse <GetKorisnikDto>
            {
                TrenutnaStrana   = search.Strana,
                StavkePoStranici = search.PoStrani,
                UkupniBrojStavki = upit.Count(),
                Stavke           = upit.Skip(preskokBrojenja).Take(search.PoStrani).Select(x => new GetKorisnikDto
                {
                    Id         = x.Id,
                    Ime        = x.Ime,
                    Prezime    = x.Prezime,
                    Jmbg       = x.Jmbg,
                    Email      = x.Email,
                    NazivUloge = x.Uloga.Naziv
                }).ToList()
            };

            return(odgovor);
        }
 public IActionResult Get([FromQuery] KorisnikSearch search, [FromServices] IGetKorisniciQuery query)
 {
     return(Ok(excutor.ExecuteQuery(query, search)));
 }