public IList <OglasDetaljiModel> Get(OglasSearchRequest request)
        {
            var result = new List <OglasDetaljiModel>();

            var query = _context.Vozila.Include(x => x.Korisnik)
                        .Include(x => x.Kategorija)
                        .Include(x => x.Model.Proizvodjac)
                        .AsQueryable();

            if (!string.IsNullOrWhiteSpace(request?.Korisnik))
            {
                var search = ToUpper(request.Korisnik);
                query = query.Where(x => x.Korisnik.Ime.StartsWith(search) || x.Korisnik.Prezime.StartsWith(search));
            }
            if (!string.IsNullOrWhiteSpace(request?.Kategorija))
            {
                var search = ToUpper(request.Kategorija);
                query = query.Where(x => x.Kategorija.Naziv.StartsWith(search));
            }
            if (!string.IsNullOrWhiteSpace(request?.Naslov))
            {
                var search = ToUpper(request.Naslov);
                query = query.Where(x => x.Naziv.StartsWith(search));
            }
            if (!string.IsNullOrWhiteSpace(request?.Proizvodjac))
            {
                var search = ToUpper(request.Proizvodjac);
                query = query.Where(x => x.Model.Proizvodjac.Naziv.StartsWith(search));
            }

            foreach (var vozilo in query.Include(x => x.Grad)
                     .Include(x => x.Model)
                     .Include(x => x.Grad.Drzava)
                     .ToList())
            {
                var novo = new OglasDetaljiModel
                {
                    VoziloId          = vozilo.VoziloId,
                    Cijena            = "€" + vozilo.Cijena.ToString(),
                    DatumPostavljanja = vozilo.DatumPostavljanja,
                    Lokacija          = vozilo.Grad.Naziv + ", " + vozilo.Grad.Drzava.Naziv,
                    Kategorija        = vozilo.Kategorija.Naziv,
                    Model             = vozilo.Model.Naziv,
                    Korisnik          = vozilo.Korisnik.Ime + " " + vozilo.Korisnik.Prezime,
                    Naziv             = vozilo.Naziv,
                    Istaknuto         = vozilo.Istaknuto,
                    Proizvodjac       = vozilo.Model.Proizvodjac.Naziv
                };
                result.Add(novo);
            }

            return(result);
        }
Example #2
0
        private async void btnPrikazi_Click(object sender, EventArgs e)
        {
            OglasSearchRequest request = new OglasSearchRequest();

            var kategorija = txtKategorijaPretraga.Text;

            if (kategorija != null)
            {
                request.Kategorija = kategorija;
            }

            var korisnik = txtKorisnikPretraga.Text;

            if (korisnik != null)
            {
                request.Korisnik = korisnik;
            }

            var naslov = txtNaslovPretraga.Text;

            if (naslov != null)
            {
                request.Naslov = naslov;
            }

            var proizvodjac = txtProizvodjacPretraga.Text;

            if (proizvodjac != null)
            {
                request.Proizvodjac = proizvodjac;
            }

            var result = await _apiService.Get <List <Modeli.OglasDetaljiModel> >(request);

            dgvOglasi.AutoGenerateColumns = false;
            dgvOglasi.DataSource          = result;
        }
Example #3
0
 public IList <OglasDetaljiModel> Get([FromQuery] OglasSearchRequest request)
 {
     return(_vozilaService.Get(request));
 }