public IEnumerable <Festival> PostFiltered(FestivalFilter filter)
 {
     return(_repository.GetByYear(filter));
 }
Esempio n. 2
0
 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));
 }
Esempio n. 3
0
        // 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)));
        }