public ActionResult Filter(SmestajFilter filter) { var smestaj = db.Smestaji.Include(p => p.Soba); if (!filter.SmestajName.IsNullOrWhiteSpace()) { smestaj = smestaj.Where(p => p.Naziv.Contains(filter.SmestajName)); } if (!filter.AdresaName.IsNullOrWhiteSpace()) { smestaj = smestaj.Where(p => p.Adresa.Contains(filter.AdresaName)); } return(View(smestaj.ToList())); }
// GET: Smestaji public ActionResult Index(SmestajFilter smestajFilter, string sortType = "Naziv", int page = 1) { IQueryable <Smestaj> smestaji = db.Smestaji; if (sortType == "") { sortType = "Naziv"; } SortTypes sortBy = SortTypesDict[sortType]; //FILTER if (!smestajFilter.Naziv.IsNullOrWhiteSpace()) { smestaji = smestaji.Where(f => f.Naziv.Contains(smestajFilter.Naziv)); } if (!smestajFilter.Adresa.IsNullOrWhiteSpace()) { smestaji = smestaji.Where(f => f.Adresa.Contains(smestajFilter.Adresa)); } //SORTIRANJE switch (sortBy) { case SortTypes.Naziv_rastuce: smestaji = smestaji.OrderBy(x => x.Naziv); break; case SortTypes.Naziv_opadajuce: smestaji = smestaji.OrderByDescending(x => x.Naziv); break; case SortTypes.Ocena_rastuce: smestaji = smestaji.OrderBy(x => x.Ocena); break; case SortTypes.Ocena_opadajuce: smestaji = smestaji.OrderByDescending(x => x.Ocena); break; } ViewBag.selectionList = new SelectList(SortTypesDict, "Key", "Key", sortType); ViewBag.CurrentSortType = sortType; ViewBag.filter = smestajFilter; return(View(smestaji.ToPagedList(page, SmestajPerPage))); }