public override async Task <ImportCsvProductsArgument> Run(ImportCsvProductsArgument arg, CommercePipelineExecutionContext context) { var inventorySets = GetDistinctInventorySetNames(arg); foreach (var inventorySetName in inventorySets) { if (await InventorySetExists(inventorySetName, context)) { continue; } var result = await _createInventorySetCommand.Process(context.CommerceContext, inventorySetName, inventorySetName, inventorySetName); } return(arg); }
public override async Task <ImportEntityArgument> Run(ImportEntityArgument arg, CommercePipelineExecutionContext context) { var commerceEntity = arg.ImportHandler.GetCommerceEntity() as Sitecore.Commerce.Plugin.Catalog.Catalog; if (commerceEntity == null) { return(await Task.FromResult(arg)); } var inventorySetName = arg.ImportHandler.GetPropertyValueFromSource <InventorySetNameAttribute, string>(); if (string.IsNullOrEmpty(inventorySetName)) { return(await Task.FromResult(arg)); } var inventorySetExists = await _doesEntityExistPipeline .Run(new FindEntityArgument(typeof(InventorySet), inventorySetName.ToEntityId <InventorySet>()), context) .ConfigureAwait(false); if (!inventorySetExists) { await _createInventorySetCommand.Process(context.CommerceContext, inventorySetName, inventorySetName, string.Empty) .ConfigureAwait(false); } if (string.IsNullOrEmpty(commerceEntity.DefaultInventorySetName) || !inventorySetName.Equals(commerceEntity.DefaultInventorySetName, StringComparison.OrdinalIgnoreCase)) { await _associateCatalogToInventorySetCommand .Process(context.CommerceContext, inventorySetName, commerceEntity.Name) .ConfigureAwait(false); } return(await Task.FromResult(arg)); }