Beispiel #1
0
        public LotsViewModel BuildPagingModel(List <BLLLot> lots, LotsRequestModel lotsRequest, string currentUserEmail)
        {
            if (lotsRequest.LotsCountOnPage == 0)
            {
                lotsRequest.LotsCountOnPage = 5;
            }

            var maxPageNumber = 1;

            if (lots.Count % lotsRequest.LotsCountOnPage != 0)
            {
                maxPageNumber = lots.Count / lotsRequest.LotsCountOnPage + 1;
            }
            else
            {
                maxPageNumber = lots.Count / lotsRequest.LotsCountOnPage;
            }

            var lotsAfterSkip = lots.Skip(lotsRequest.LotsCountOnPage *
                                          (lotsRequest.PageNumber - 1)).Take(lotsRequest.LotsCountOnPage);

            var userId = _crudUserService.GetUserByEmail(currentUserEmail).Id;

            var model = new LotsViewModel
            {
                Lots          = lotsAfterSkip.ToList(),
                PageNumber    = lotsRequest.PageNumber,
                MaxPageNumber = maxPageNumber,
                Tab           = lotsRequest.Tab,
                CurrentUserId = userId
            };

            return(model);
        }
        public ActionResult Index(LotsRequestModel lotsRequest)
        {
            //for (var i = 0; i < 57; i++)
            //{
            //    var bllLot = new BLLLot
            //    {
            //        ArtworkName = "Name_" + i,
            //        DateOfAuction = DateTime.Now,
            //        UserOwnerId = 1,
            //        Author = "podlec"
            //    };

            //    _crudLotService.CreateLot(bllLot);
            //}

            return(View(new LotsViewModel()));
        }
        public ActionResult Lots(LotsRequestModel lotsRequest)
        {
            if (lotsRequest.PageNumber == 0)
            {
                lotsRequest.PageNumber = 1;
            }

            var lots = _lotManagerService.GetLotsByTabName(lotsRequest.Tab, User.Identity.Name);

            var bllSearchModel = new BLLSearch
            {
                SearchByArtworkName   = lotsRequest.ArtworkName,
                SearchByPictureAuthor = lotsRequest.PictureAuthor,
                SearchByMinPrice      = lotsRequest.MinPrice,
                SearchByMaxPrice      = lotsRequest.MaxPrice,
                OrderByAuctionDate    = lotsRequest.OrderByAuctionDate
            };

            lots = _lotService.Search(bllSearchModel, lots).ToList();
            var model = _lotManagerService.BuildPagingModel(lots, lotsRequest, User.Identity.Name);

            return(PartialView("_AllLots", model));
        }