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