public ActionResult Index(FormCollection input) { var viewModel = new BidsIndexViewModel { Bids = new List <BidEntry>(), Options = new BidIndexOptions() }; UpdateModel(viewModel); IEnumerable <BidEntry> checkedEntries = viewModel.Bids.Where(c => c.IsChecked); switch (viewModel.Options.BulkAction) { case BidIndexBulkAction.None: break; case BidIndexBulkAction.Delete: if (!_orchardServices.Authorizer.Authorize(Permissions.ManageBids, T("Couldn't delete Bid"))) { return(new HttpUnauthorizedResult()); } foreach (BidEntry entry in checkedEntries) { _bidService.DeleteBid(entry.Bid.Id); } break; default: throw new ArgumentOutOfRangeException(); } return(RedirectToAction("Index")); }
public ActionResult Index(BidIndexOptions options, PagerParameters pagerParameters) { var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters); // Default options if (options == null) { options = new BidIndexOptions(); } // Filtering IContentQuery <BidPart, BidPartRecord> bidsQuery; switch (options.Filter) { case BidIndexFilter.All: bidsQuery = _bidService.GetBids(); break; default: throw new ArgumentOutOfRangeException(); } var pagerShape = Shape.Pager(pager).TotalItemCount(bidsQuery.Count()); var entries = bidsQuery .OrderByDescending <BidPartRecord>(b => b.BidedOn) .Slice(pager.GetStartIndex(), pager.PageSize) .ToList() .Select(CreateBidEntry); var model = new BidsIndexViewModel { Bids = entries.ToList(), Options = options, Pager = pagerShape }; return(View(model)); }