Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 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));
 }