示例#1
0
        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"));
        }
示例#2
0
        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));
        }