public List <Takmicenja> Get(TakmicenjeSearch obj) { var qry = db.Takmicenja.AsQueryable(); if (!string.IsNullOrWhiteSpace(obj.Naziv)) { qry = qry.Where(x => x.Naziv.Contains(obj.Naziv)); } var TakmicenjaPovratni = qry .Include(x => x.Sistem).Include(x => x.Status) .Include(x => x.Kategorija).Include(x => x.Vrsta) .Include(x => x.Prijave) .Where(x => x.Kategorija.Opis == obj.Kategorija || obj.Kategorija == null) .Where(x => x.Vrsta.Naziv == obj.Vrsta || obj.Vrsta == null) .Where(x => x.Sistem.Opis == obj.Sistem || obj.Sistem == null) .Where(x => x.MinimalniELO == obj.MinimalniELO || obj.MinimalniELO == null) .OrderByDescending(x => x.ID).ToList(); var povratnaLista = new List <SharedModels.Takmicenja>(); foreach (var i in TakmicenjaPovratni) { SharedModels.Takmicenja tak = mapko.Map <SharedModels.Takmicenja>(i); tak.Sistem = i.Sistem.Opis; tak.Kategorija = i.Kategorija.Opis; tak.Vrsta = i.Vrsta.Naziv; tak.Status = i.Status.Opis; tak.Prijave = i.Prijave; povratnaLista.Add(tak); } return(povratnaLista); }
private async void btnFiltriraj_Click(object sender, EventArgs e) { apiService = new APIService("takmicenja"); TakmicenjeSearch obj = new TakmicenjeSearch { Naziv = txtNaziv.Text, Kategorija = cmbKategorija.SelectedItem != null && cmbKategorija.SelectedItem.ToString() != " " ? cmbKategorija.SelectedItem.ToString() : null, Sistem = cmbSistem.SelectedItem != null && cmbSistem.SelectedItem.ToString() != " " ? cmbSistem.SelectedItem.ToString() : null, Vrsta = cmbVrsta.SelectedItem != null && cmbVrsta.SelectedItem.ToString() != " " ? cmbVrsta.SelectedItem.ToString() : null, }; if (!string.IsNullOrEmpty(txtMinimalniELO.Text)) { obj.MinimalniELO = int.Parse(txtMinimalniELO.Text); } takmicenja = await apiService.GetAll <PagedResponse <Takmicenja> >(obj); PrikaziPodatke(); }
private PagedResponse <Takmicenja> GetPagedResponse(TakmicenjeSearch obj) { var listaTakmicenja = takmicenjeService.Get(obj); PagedResponse <Takmicenja> respons = new PagedResponse <Takmicenja>(); respons.TotalPageCount = (int)Math.Ceiling((double)listaTakmicenja.Count() / (double)obj.Limit); respons.Stavke = listaTakmicenja.Skip((obj.Page - 1) * obj.Limit).Take(obj.Limit).ToList(); TakmicenjeSearch iducaKlon = obj.Clone() as TakmicenjeSearch; iducaKlon.Page = (iducaKlon.Page + 1) > respons.TotalPageCount ? -1 : iducaKlon.Page + 1; String iduciUrl = iducaKlon.Page == -1 ? null : this.Url.Action("Get", null, iducaKlon, Request.Scheme); TakmicenjeSearch proslaKlon = obj.Clone() as TakmicenjeSearch; proslaKlon.Page = (proslaKlon.Page - 1) < 0 ? -1 : proslaKlon.Page - 1; String prosliUrl = proslaKlon.Page == -1 ? null : this.Url.Action("Get", null, proslaKlon, Request.Scheme); respons.IducaStranica = !String.IsNullOrWhiteSpace(iduciUrl) ? new Uri(iduciUrl) : null; respons.ProslaStranica = !String.IsNullOrWhiteSpace(prosliUrl) ? new Uri(prosliUrl) : null; return(respons); }
public PagedResponse <Takmicenja> Get([FromQuery] TakmicenjeSearch obj) { var respons = GetPagedResponse(obj); return(respons); }