public async Task <ProductDto> CreateSkuAsync(Guid productId, CreateProductSkuDto input) { var product = await GetEntityByIdAsync(productId); await CheckMultiStorePolicyAsync(product.StoreId, UpdatePolicyName); CheckProductIsNotStatic(product); var sku = ObjectMapper.Map <CreateProductSkuDto, ProductSku>(input); EntityHelper.TrySetId(sku, GuidGenerator.Create); await _productManager.CreateSkuAsync(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 async Task <ProductDto> CreateSkuAsync(Guid productId, Guid storeId, CreateProductSkuDto input) { await CheckUpdatePolicyAsync(); await CheckStoreIsProductOwnerAsync(productId, storeId); var product = await GetEntityByIdAsync(productId); CheckProductIsNotStatic(product); var sku = ObjectMapper.Map <CreateProductSkuDto, ProductSku>(input); EntityHelper.TrySetId(sku, GuidGenerator.Create); await _productManager.CreateSkuAsync(product, sku); return(ObjectMapper.Map <Product, ProductDto>(product)); }
public async Task <ProductDto> CreateSkuAsync(Guid productId, Guid storeId, CreateProductSkuDto input) { await AuthorizationService.CheckMultiStorePolicyAsync(storeId, UpdatePolicyName, ProductsPermissions.Products.CrossStore); await CheckStoreIsProductOwnerAsync(productId, storeId); var product = await GetEntityByIdAsync(productId); CheckProductIsNotStatic(product); var sku = ObjectMapper.Map <CreateProductSkuDto, ProductSku>(input); EntityHelper.TrySetId(sku, GuidGenerator.Create); await _productManager.CreateSkuAsync(product, sku); var dto = await MapToGetOutputDtoAsync(product); await LoadDtoExtraDataAsync(product, dto, storeId); await LoadDtosProductGroupDisplayNameAsync(new[] { dto }); return(dto); }
public Task <ProductDto> CreateSkuAsync(Guid productId, Guid storeId, CreateProductSkuDto input) { return(_service.CreateSkuAsync(productId, storeId, input)); }
public Task <ProductDto> CreateSkuAsync(Guid id, CreateProductSkuDto input) { return(_service.CreateSkuAsync(id, input)); }