public ActionResult ProductSpecAttrUpdate(int psaId, ProductSpecificationAttributeModel model, GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts)) return AccessDeniedView(); var psa = _specificationAttributeService.GetProductSpecificationAttributeById(psaId); if (psa == null) return Content("No product specification attribute found with the specified id"); var productId = psa.Product.Id; //a vendor should have access only to his products if (_workContext.CurrentVendor != null) { var product = _productService.GetProductById(productId); if (product != null && product.VendorId != _workContext.CurrentVendor.Id) { return Content("This is not your product"); } } psa.CustomValue = model.CustomValue; psa.AllowFiltering = model.AllowFiltering; psa.ShowOnProductPage = model.ShowOnProductPage; psa.DisplayOrder = model.DisplayOrder; _specificationAttributeService.UpdateProductSpecificationAttribute(psa); return ProductSpecAttrList(command, psa.ProductId); }
public ActionResult ProductSpecAttrList(GridCommand command, int productId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts)) return AccessDeniedView(); //a vendor should have access only to his products if (_workContext.CurrentVendor != null) { var product = _productService.GetProductById(productId); if (product != null && product.VendorId != _workContext.CurrentVendor.Id) { return Content("This is not your product"); } } var productrSpecs = _specificationAttributeService.GetProductSpecificationAttributesByProductId(productId); var productrSpecsModel = productrSpecs .Select(x => { var psaModel = new ProductSpecificationAttributeModel() { Id = x.Id, SpecificationAttributeName = x.SpecificationAttributeOption.SpecificationAttribute.Name, SpecificationAttributeOptionName = x.SpecificationAttributeOption.Name, CustomValue = x.CustomValue, AllowFiltering = x.AllowFiltering, ShowOnProductPage = x.ShowOnProductPage, DisplayOrder = x.DisplayOrder }; return psaModel; }) .ToList(); var model = new GridModel<ProductSpecificationAttributeModel> { Data = productrSpecsModel, Total = productrSpecsModel.Count }; return new JsonResult { Data = model }; }