コード例 #1
0
 public static bool AreSkuAndItemIdMismatched(this ShopifyVariant input)
 {
     if (!input.IsSynced())
     {
         return(false);
     }
     else
     {
         return(input.ShopifySku.StandardizedSku() != input.MatchedStockItem().ItemId.StandardizedSku());
     }
 }
コード例 #2
0
        public static bool AreTaxesMismatched(this ShopifyVariant input, MonsterSetting settings)
        {
            if (!input.IsSynced())
            {
                return(false);
            }

            if (input.ShopifyIsTaxable &&
                input.MatchedStockItem().AcumaticaTaxCategory == settings.AcumaticaTaxableCategory)
            {
                return(false);
            }

            if (!input.ShopifyIsTaxable &&
                input.MatchedStockItem().AcumaticaTaxCategory == settings.AcumaticaTaxExemptCategory)
            {
                return(false);
            }

            return(true);
        }
コード例 #3
0
        MakeProductStockItemResults(ShopifyVariant variant, MonsterSetting settings)
        {
            var output = new ProductStockItemResultsRow();

            output.ShopifyProductId    = variant.ShopifyProduct.ShopifyProductId;
            output.ShopifyProductTitle = variant.ShopifyProduct.ShopifyTitle;
            output.ShopifyProductUrl
                = _shopifyUrlService.ShopifyProductUrl(variant.ShopifyProduct.ShopifyProductId);
            output.ShopifyVariantId    = variant.ShopifyVariantId;
            output.ShopifyVariantTitle = variant.ShopifyTitle;
            output.ShopifyVariantSku   = variant.ShopifySku;
            output.ShopifyVariantUrl
                = _shopifyUrlService.ShopifyVariantUrl(
                      variant.ShopifyProduct.ShopifyProductId, variant.ShopifyVariantId);
            output.ShopifyVariantTax   = variant.ShopifyIsTaxable ? "YES" : "NO";
            output.ShopifyVariantPrice = variant.ShopifyPrice;
            output.ShopifyVariantAvailQty
                = variant.ShopifyInventoryLevels.Sum(x => x.ShopifyAvailableQuantity);

            output.IsShopifyProductDeleted = variant.ShopifyProduct.IsDeleted;
            output.IsShopifyVariantMissing = variant.IsMissing;
            output.HasDuplicateSkus        = HasDuplicateSkus(variant.ShopifySku);

            if (variant.IsMatched())
            {
                var stockItemRecord = variant.MatchedStockItem();
                var stockItem       = _acumaticaJsonService.RetrieveStockItem(stockItemRecord.ItemId);

                output.AcumaticaItemId       = stockItemRecord.ItemId;
                output.AcumaticaItemDesc     = stockItemRecord.AcumaticaDescription;
                output.AcumaticaItemUrl      = _acumaticaUrlService.AcumaticaStockItemUrl(stockItemRecord.ItemId);
                output.AcumaticaItemTax      = stockItemRecord.IsTaxable(settings).YesNoNaPlainEnglish();
                output.AcumaticaItemPrice    = (decimal)stockItem.DefaultPrice.value;
                output.AcumaticaItemAvailQty = stockItemRecord.AcumaticaInventories.Sum(x => (int)x.AcumaticaAvailQty);

                output.HasMismatchedSku   = variant.AreSkuAndItemIdMismatched();
                output.HasMismatchedTaxes = variant.AreTaxesMismatched(settings);
            }

            return(output);
        }