public static void RunViewShopifyOrderAndTaxTransfer() { var instanceId = CommandLineFuncs.SolicitInstanceId(); var shopifyOrderId = CommandLineFuncs.SolicitShopifyId(); AutofacRunner.RunInScope(scope => { var logger = scope.Resolve <IPushLogger>(); var instanceContext = scope.Resolve <InstanceContext>(); var shopifyOrderGet = scope.Resolve <ShopifyOrderGet>(); var repository = scope.Resolve <ShopifyOrderRepository>(); var jsonService = scope.Resolve <ShopifyJsonService>(); instanceContext.Initialize(instanceId); shopifyOrderGet.Run(shopifyOrderId); var orderRecord = repository.RetrieveOrder(shopifyOrderId); var shopifyOrder = jsonService.RetrieveOrder(orderRecord.ShopifyOrderId); logger.Info("Shopify Order JSON" + Environment.NewLine + shopifyOrder.SerializeToJson() + Environment.NewLine); var taxTransfer = shopifyOrder.ToTaxTransfer(); logger.Info("Shopify Tax Transfer: " + Environment.NewLine + taxTransfer.SerializeToJson() + Environment.NewLine); var serializedTaxTransfer = taxTransfer.Serialize(); logger.Info($"Shopify Tax Transfer Serialized:" + Environment.NewLine + serializedTaxTransfer + Environment.NewLine); logger.Info($"Shopify Tax Transfer gzipped size: " + $"{serializedTaxTransfer.ToBase64Zip().Length} bytes" + Environment.NewLine); var deserializedTaxTransfer = serializedTaxTransfer.DeserializeTaxSnapshot(); logger.Info($"Shopify Tax Transfer Deserialized:" + Environment.NewLine + deserializedTaxTransfer.SerializeToJson() + Environment.NewLine); var lineItem = shopifyOrder.line_items[0]; var testCalc = deserializedTaxTransfer.CalculateTax(lineItem.sku, lineItem.UnitPriceAfterDiscount, 1); logger.Info("Test Tax Calculation: " + Environment.NewLine + testCalc.SerializeToJson() + Environment.NewLine); }); }
public static void RunShopifyOrderGetToAcumaticaOrderPut() { var instanceId = CommandLineFuncs.SolicitInstanceId(); var shopifyOrderId = CommandLineFuncs.SolicitShopifyId(); AutofacRunner.RunInScope(scope => { var instanceContext = scope.Resolve <InstanceContext>(); instanceContext.Initialize(instanceId); Console.WriteLine($"Processing Shopify Order Id: {shopifyOrderId}"); var shopifyOrderGet = scope.Resolve <ShopifyOrderGet>(); var order = shopifyOrderGet.Run(shopifyOrderId).order; var orderSync = scope.Resolve <AcumaticaOrderPut>(); var acumaticaContext = scope.Resolve <AcumaticaHttpContext>(); acumaticaContext.SessionRun(() => orderSync.RunOrder(shopifyOrderId)); }); }