public async Task <IActionResult> WonAuctions()
        {
            User loggedInUser = await this.userManager.GetUserAsync(base.User);

            IList <Auction> list = await this.context.Auctions.Include(a => a.winner).Include(a => a.owner).Where(a => a.winner.Id == loggedInUser.Id)
                                   .OrderByDescending(a => a.createDate).ToListAsync();

            AuctionPreviewModel auctions = new AuctionPreviewModel()
            {
                currentPage = 1,
                numOfPages  = 1,
                auctions    = list.ToPagedList(),
                userId      = loggedInUser.Id
            };

            return(View(auctions));
        }
        //Auctions show

        public async Task <IActionResult> Index()
        {
            User loggedInUser = await this.userManager.GetUserAsync(base.User);

            IList <Auction> list = await this.context.Auctions.Include(a => a.winner).Include(a => a.owner).OrderByDescending(a => a.createDate).ToListAsync();

            // int numOfPages = await this.context.Auctions.CountAsync();
            int numOfPages = list.Count;
            AuctionPreviewModel auctions = new AuctionPreviewModel()
            {
                currentPage = 1,
                numOfPages  = (int)Math.Ceiling(numOfPages / 12.0),
                auctions    = list.ToPagedList(1, 12),
                userId      = (loggedInUser == null ? "" : loggedInUser.Id)
            };

            return(View(auctions));
        }
        public async Task <IActionResult> JumpToPage(int pageNumber, string search, int?minPrice, int?maxPrice, string state)
        {
            IQueryable <Auction> queryBuilder = this.context.Auctions.Include(a => a.winner).Include(a => a.owner);

            if (search != null)
            {
                queryBuilder = queryBuilder.Include(a => a.winner).Where(a => a.name.Contains(search) || a.description.Contains(search));
            }
            if (minPrice != null && minPrice >= 0)
            {
                queryBuilder = queryBuilder.Where(a => a.currentPrice >= minPrice);
            }
            if (maxPrice != null && maxPrice > 0)
            {
                queryBuilder = queryBuilder.Where(a => a.currentPrice <= maxPrice);
            }
            if (state != null)
            {
                queryBuilder = queryBuilder.Where(a => a.state == state);
            }
            User loggedInUser = await this.userManager.GetUserAsync(base.User);

            IList <Auction> list = await queryBuilder.OrderByDescending(a => a.createDate).ToListAsync();

            int numOfPages = list.Count;

            Console.WriteLine(numOfPages);
            AuctionPreviewModel auctions = new AuctionPreviewModel()
            {
                currentPage = pageNumber,
                numOfPages  = (int)Math.Ceiling(numOfPages / 12.0),
                auctions    = list.ToPagedList(pageNumber, 12),
                userId      = (loggedInUser == null ? "" : loggedInUser.Id)
            };

            return(PartialView("AuctionPage", auctions));
        }