Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }