public async Task <ProductDto> UpdateSkuAsync(Guid productId, Guid productSkuId, Guid storeId, UpdateProductSkuDto input) { await AuthorizationService.CheckMultiStorePolicyAsync(storeId, UpdatePolicyName, ProductsPermissions.Products.CrossStore); await CheckStoreIsProductOwnerAsync(productId, storeId); var product = await GetEntityByIdAsync(productId); CheckProductIsNotStatic(product); var sku = product.ProductSkus.Single(x => x.Id == productSkuId); ObjectMapper.Map(input, sku); await _productManager.UpdateSkuAsync(product, sku); var dto = await MapToGetOutputDtoAsync(product); await LoadDtoExtraDataAsync(product, dto, storeId); await LoadDtosProductGroupDisplayNameAsync(new[] { dto }); return(dto); }
public virtual async Task <ProductDto> UpdateSkuAsync(Guid productId, Guid productSkuId, UpdateProductSkuDto input) { var product = await GetEntityByIdAsync(productId); await CheckMultiStorePolicyAsync(product.StoreId, UpdatePolicyName); CheckProductIsNotStatic(product); var sku = product.ProductSkus.Single(x => x.Id == productSkuId); await MapToProductSkuAsync(input, sku); await _productManager.UpdateSkuAsync(product, sku); var dto = await MapToGetOutputDtoAsync(product); await LoadDtoExtraDataAsync(product, dto); await LoadDtosProductGroupDisplayNameAsync(new[] { dto }); UnitOfWorkManager.Current.OnCompleted(async() => { await ClearProductViewCacheAsync(product.StoreId); }); return(dto); }
public Task <ProductDto> UpdateSkuAsync(Guid productId, Guid productSkuId, Guid storeId, UpdateProductSkuDto input) { return(_service.UpdateSkuAsync(productId, productSkuId, storeId, input)); }
public async Task <ProductDto> UpdateSkuAsync(Guid productId, Guid productSkuId, Guid storeId, UpdateProductSkuDto input) { await CheckUpdatePolicyAsync(); await CheckStoreIsProductOwnerAsync(productId, storeId); var product = await GetEntityByIdAsync(productId); CheckProductIsNotStatic(product); var sku = product.ProductSkus.Single(x => x.Id == productSkuId); ObjectMapper.Map(input, sku); await _productManager.UpdateSkuAsync(product, sku); return(ObjectMapper.Map <Product, ProductDto>(product)); }