private InventorySyncStatus MakeSyncStatus(AcumaticaStockItem input) { var settings = _settingsRepository.RetrieveSettings(); var output = new InventorySyncStatus(); output.StockItemId = input.ItemId; output.TaxCategoryId = input.AcumaticaTaxCategory; output.IsStockItemPriceSynced = input.IsVariantSynced; output.IsStockItemInventorySynced = input.AcumaticaInventories.All(x => x.IsInventorySynced); output.IsTaxCategoryValid = input.IsValidTaxCategory(settings); if (input.IsMatched()) { var variant = input.MatchedVariant(); output.ShopifyVariantId = variant.ShopifyVariantId; output.ShopifyVariantSku = variant.ShopifySku; output.IsShopifyVariantMissing = variant.IsMissing; output.ShopifyInventoryIsTracked = variant.ShopifyIsTracked; } else { output.IsShopifyVariantMissing = true; } return(output); }
public void UpdatePriceAndCost(AcumaticaStockItem stockItemRecord, bool setTracking = false) { if (MonsterConfig.Settings.DisableShopifyPut) { _executionLogService.Log(LogBuilder.ShopifyPutDisabled()); return; } if (!stockItemRecord.IsMatched()) { return; } UpdateShopifyVariant(stockItemRecord, setTracking); UpdateVariantCostOfGoods(stockItemRecord, setTracking); }