// GET - Admin UI for Events public ActionResult EventIndex(EventIndexOptions options, PagerParameters pagerParameters) { var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters); // Default options if (options == null) { options = new EventIndexOptions(); } // Filtering IContentQuery <MemberEventPart, MemberEventPartRecord> eventsQuery; switch (options.Filter) { case EventIndexFilter.All: eventsQuery = _eventService.GetEvents(); break; case EventIndexFilter.Open: eventsQuery = _eventService.GetEvents(true); break; case EventIndexFilter.Closed: eventsQuery = _eventService.GetEvents(false); break; default: throw new ArgumentOutOfRangeException("options"); } var pagerShape = Shape.Pager(pager).TotalItemCount(eventsQuery.Count()); var entries = eventsQuery .OrderByDescending <MemberEventPartRecord>(e => e.Id) .Slice(pager.GetStartIndex(), pager.PageSize) .ToList() .Select(e => CreateEventEntry(e.Record)); var model = new EventIndexVM { Events = entries.ToList(), Options = options, Pager = pagerShape }; return(View((object)model)); }
public ActionResult EventIndex(FormCollection form) { var viewModel = new EventIndexVM { Events = new List <EventEntry>(), Options = new EventIndexOptions() }; UpdateModel(viewModel); IEnumerable <EventEntry> checkedEntries = viewModel.Events.Where(s => s.IsChecked); switch (viewModel.Options.BulkAction) { case EventIndexBulkAction.None: break; case EventIndexBulkAction.Open: foreach (EventEntry entry in checkedEntries) { throw new NotImplementedException(); // _eventService.OpenEvent(entry.Event.Id); } break; case EventIndexBulkAction.Close: foreach (EventEntry entry in checkedEntries) { throw new NotImplementedException(); // _eventService.CloseEvent(entry.Event.Id); } break; case EventIndexBulkAction.Delete: foreach (EventEntry entry in checkedEntries) { _eventService.DeleteEvent(entry.Event.Id); } break; default: throw new ArgumentOutOfRangeException("form"); } return(RedirectToAction("EventIndex")); }