private List <ShopifyVariantNew> CleanAndBuildVariantPayload(List <string> itemIds) { var settings = _settingsRepository.RetrieveSettings(); var output = new List <ShopifyVariantNew>(); foreach (var itemId in itemIds) { var stockItemRecord = _syncInventoryRepository.RetrieveStockItem(itemId); var stockItem = _acumaticaJsonService.RetrieveStockItem(itemId); var price = stockItem.DefaultPrice.value; var isTaxable = stockItemRecord.IsTaxable(settings); if (isTaxable == null) { _logService.Log($"{stockItem.TaxCategory} invalid Tax Category for {stockItemRecord.LogDescriptor()}"); continue; } var existsInShopify = _syncInventoryRepository.SkuExistsInShopify(stockItemRecord.ItemId); if (existsInShopify) { _logService.Log($"Skipping {stockItemRecord.LogDescriptor()} - exists in Shopify already"); continue; } var standardizedSku = stockItemRecord.ItemId.StandardizedSku(); var variant = new ShopifyVariantNew(); variant.sku = standardizedSku; variant.title = stockItem.Description.value; variant.taxable = isTaxable.Value; variant.grams = stockItem.DimensionWeight.value.ToShopifyGrams(); variant.price = (decimal)price; variant.option1 = standardizedSku; variant.inventory_policy = "deny"; variant.fulfillment_service = "manual"; output.Add(variant); } return(output); }
public static string LogDescriptor(this ShopifyVariantNew variant) { return($"Shopify Variant {variant.sku} (new)"); }
public static string CreatingShopifyVariant(ShopifyVariantNew item) { return($"Creating Shopify Variant for {item.LogDescriptor()}"); }