Ejemplo n.º 1
0
        public async Task <IActionResult> All()
        {
            var viewModel = new GoodListViewModel()
            {
                Goods = await this.goodsService.GetAllAsync <GoodViewModel>(),
            };

            return(this.View(viewModel));
        }
Ejemplo n.º 2
0
        public ViewResult List(string category)
        {
            GoodListViewModel viewModel = new GoodListViewModel
            {
                Goods = repository.Goods
                        .Where(p => category == null || p.Category.Name == category && p.Availability == true),
                CurrentCategory = category
            };

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public ActionResult GoodPartial()
        {
            GoodListViewModel viewModel = new GoodListViewModel
            {
                Goods = repository.Goods
                        .Where(p => p.Availability == true)
                        .Take(9)
                        .OrderBy(p => Guid.NewGuid())
            };

            return(View(viewModel));
        }
Ejemplo n.º 4
0
        public ActionResult GoodsSearch(string search, FilterModelDTO filterDto, int page = 1)
        {
            var goods = _goodLogic.Search(search, filterDto);

            var goodViews = Mapper.Map <IEnumerable <GoodDTO>, IEnumerable <GoodViewModel> >(goods);

            var id = User.Identity.GetUserId();

            var user = _clientLogic.Get(id);

            if (user != null)
            {
                foreach (var goodView in goodViews)
                {
                    var dis = (100 - user.Discount) / 100;
                    goodView.PriceWithDiscount = goodView.PriceSale * (decimal)dis;
                }
            }


            //todo: refactor -take goods grop _goodLogic
            int pageSize = 5; // количество объектов на страницу
            IEnumerable <GoodViewModel> goodssPerPages = goodViews.Skip((page - 1) * pageSize).Take(pageSize);
            PageInfo pageInfo = new PageInfo {
                PageNumber = page, PageSize = pageSize, TotalItems = goodViews.Count()
            };
            GoodListViewModel ivm = new GoodListViewModel {
                PageInfo = pageInfo, Goods = goodssPerPages
            };

            if (ivm.Goods.Any())
            {
                return(PartialView(goodViews.ToPagedList(page, pageSize)));
            }

            return(PartialView("SearchNull"));
        }