コード例 #1
0
        public ActionResult ProductList(GridCommand command, int promoId)
        {
            var model = new GridModel <PromotionProductsModel>();

            if (_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
            {
                var promoProducts = _promotionProductsService.GetProductsByPromoId(promoId);

                var productIds = promoProducts.Select(x => x.ProductId).ToArray();
                var products   = _productService.GetProductsByIds(productIds);

                model.Data = promoProducts
                             .Select(x =>
                {
                    var product = products.FirstOrDefault(y => y.Id == x.ProductId);

                    return(new PromotionProductsModel
                    {
                        Id = x.Id,
                        ProductId = x.ProductId,
                        ProductName = product.Name
                    });
                });

                model.Total = promoProducts.Count();
            }
            else
            {
                model.Data = Enumerable.Empty <PromotionProductsModel>();

                NotifyAccessDenied();
            }

            return(new JsonResult
            {
                Data = model
            });
        }