public IEnumerable <Festival> PostFiltered(FestivalFilter filter) { return(_repository.GetByYear(filter)); }
public IEnumerable <Festival> GetByYear(FestivalFilter filter) { return(db.Festivali.Include(x => x.Mesto) .Where(x => x.Godina >= (filter.Start ?? 0) && x.Godina <= (filter.Kraj ?? 2017)) .OrderBy(x => x.Godina)); }
// GET: Festivals public ActionResult Index(FestivalFilter festivalFilter, string sort = "Name", int page = 1) { IQueryable <Festival> festivals = db.Festivals; //sort if (sort == "") { sort = "Name"; } SortTypes sortType = SortTypesDict[sort]; switch (sortType) { case SortTypes.Name: festivals = festivals.OrderBy(x => x.Name); break; case SortTypes.NameDesc: festivals = festivals.OrderByDescending(x => x.Name); break; case SortTypes.Capacity: festivals = festivals.OrderBy(x => x.EventCapacity); break; case SortTypes.CapacityDesc: festivals = festivals.OrderByDescending(x => x.EventCapacity); break; case SortTypes.Rate: festivals = festivals.OrderByDescending(x => x.Rate); break; case SortTypes.RateDesc: festivals = festivals.OrderByDescending(x => x.Rate); break; case SortTypes.Date: festivals = festivals.OrderByDescending(x => x.DateF); break; case SortTypes.DateDesc: festivals = festivals.OrderByDescending(x => x.DateF); break; } //filter if (!festivalFilter.Name.IsNullOrWhiteSpace()) { festivals = festivals.Where(f => f.Name.Contains(festivalFilter.Name)); } if (!festivalFilter.Place.IsNullOrWhiteSpace()) { festivals = festivals.Where(f => f.Place.Contains(festivalFilter.Place)); } if (festivalFilter.FromDate != null) { festivals = festivals.Where(f => f.DateF >= festivalFilter.FromDate); } if (festivalFilter.ToDate != null) { festivals = festivals.Where(f => f.DateF <= festivalFilter.ToDate); } if (festivalFilter.FromRate != null) { festivals = festivals.Where(f => f.Rate >= festivalFilter.FromRate); } if (festivalFilter.ToRate != null) { festivals = festivals.Where(f => f.Rate <= festivalFilter.ToRate); } ViewBag.selectionList = new SelectList(SortTypesDict, "Key", "Key", sort); ViewBag.chosenSort = sort; ViewBag.filter = festivalFilter; return(View(festivals.ToPagedList(page, FestivalPerPage))); }