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