public RepositoryPagingResponse <Auction> Get(int max, int skip, AuctionSort sortOrder, string UserId = null) { RepositoryPagingResponse <Auction> res = new RepositoryPagingResponse <Auction>(); IQueryable <Auction> query = this.dbSet; res.TotalResults = query.Count(); if (UserId != null) { query = query.Where(a => a.Customer.Id == UserId); } // Sort by param switch (sortOrder) { case AuctionSort.OpenDate: query = query.OrderBy(a => a.OpenDate); break; case AuctionSort.Status: query = query.OrderBy(a => a.AuctionStatus); break; case AuctionSort.StatusDesc: query = query.OrderByDescending(a => a.AuctionStatus); break; case AuctionSort.CloseDate: query = query.OrderBy(a => a.CloseDate); break; case AuctionSort.CloseDateDesc: query = query.OrderBy(a => a.CloseDate); break; case AuctionSort.PickWinnerDate: query = query.OrderBy(a => a.PickWinnerDate); break; case AuctionSort.PickWinnerDateDesc: query = query.OrderByDescending(a => a.PickWinnerDate); break; default: query = query.OrderByDescending(a => a.OpenDate); break; } res.Entities = ValidateAuctionStatus(ValidateAuctionStatus(query .Skip(skip) .Take(max) .ToList() as IEnumerable <Auction>)); return(res); }
public ActionResult Index(AuctionSort sortOrder = AuctionSort.OpenDateDesc, int PageIndex = 1) { // Set sorting params ViewBag.CurrentSort = sortOrder; ViewBag.OpenDateSP = sortOrder == AuctionSort.OpenDate ? AuctionSort.OpenDateDesc : AuctionSort.OpenDate; ViewBag.CloseSP = sortOrder == AuctionSort.CloseDate ? AuctionSort.CloseDateDesc : AuctionSort.CloseDate; ViewBag.PickWinnerDateSP = sortOrder == AuctionSort.PickWinnerDate ? AuctionSort.PickWinnerDateDesc: AuctionSort.PickWinnerDate; ViewBag.StatusSP = sortOrder == AuctionSort.Status ? AuctionSort.StatusDesc : AuctionSort.Status; var res = _actionSrv.Get(new PagingRequest(PageIndex, RES_IN_PAGE), sortOrder); if (!res.Success) { return(Json(res.Message, JsonRequestBehavior.AllowGet)); } ViewBag.Page = PageIndex; ViewBag.TotalPages = res.TotalPages; return(View(res.Entities)); }
public PagingResponse <Auction> Get(PagingRequest pageRequest, AuctionSort sortOrder, string UserId = null) { PagingResponse <Auction> res = new PagingResponse <Auction>(); try { var repositoryRes = (this._rep as AuctionRepository).Get(pageRequest.ResultInPage, (pageRequest.Page - 1) * pageRequest.ResultInPage, sortOrder, UserId); res.Entities = repositoryRes.Entities; res.TotalResults = repositoryRes.TotalResults; res.ResultsInPage = pageRequest.ResultInPage; res.CurrPage = pageRequest.Page; res.Success = true; } catch (Exception e) { res.Success = false; res.Message = e.ToString(); } return(res); }