Esempio n. 1
0
        private void Run(SearchFilter filter)
        {
            if (_jobMonitoringService.DetectCurrentJobInterrupt())
            {
                return;
            }

            var startOfRun = DateTime.UtcNow;
            var results    = _orderApi.Retrieve(filter);

            while (true)
            {
                var orders = results.Body.DeserializeToOrderList().orders;
                UpsertOrders(orders);

                if (_jobMonitoringService.DetectCurrentJobInterrupt())
                {
                    return;
                }

                if (results.LinkHeader.NoMo())
                {
                    break;
                }

                results = _orderApi.RetrieveByLink(results.LinkHeader.NextLink);
            }

            // Set the Batch State end marker to the time when this run started
            //
            var orderBatchEnd = (startOfRun).SubtractFudgeFactor();

            _batchRepository.UpdateOrdersGetEnd(orderBatchEnd);
        }
Esempio n. 2
0
        public ActionResult VerifyShopifyOrder(string orderNameOrId)
        {
            var identity = HttpContext.GetIdentity();

            _instanceContext.InitializeShopify();

            var jsonByName   = _shopifyOrderApi.RetrieveByName(orderNameOrId);
            var ordersByName = jsonByName.DeserializeToOrderList().orders;

            if (ordersByName.Count > 0)
            {
                return(new JsonNetResult(MakeOrderVerification(ordersByName.First())));
            }

            if (orderNameOrId.IsLong())
            {
                var jsonById  = _shopifyOrderApi.Retrieve(orderNameOrId.ToLong());
                var orderById = jsonById.DeserializeToOrderParent().order;
                if (orderById != null)
                {
                    return(new JsonNetResult(orderById));
                }
            }

            return(new JsonNetResult(OrderVerification.Empty()));
        }
        private void HydrateExternalJson(int shopifyJsonType, long shopifyId)
        {
            if (shopifyJsonType == ShopifyJsonType.Location)
            {
                var json = _inventoryApi.RetrieveLocation(shopifyId);
                UpdateRecord(shopifyJsonType, shopifyId, json);
            }
            if (shopifyJsonType == ShopifyJsonType.Customer)
            {
                var json = _customerApi.Retrieve(shopifyId);
                UpdateRecord(shopifyJsonType, shopifyId, json);
            }
            if (shopifyJsonType == ShopifyJsonType.Product)
            {
                var json = _productApi.RetrieveProducts(shopifyId);
                UpdateRecord(shopifyJsonType, shopifyId, json);
            }
            if (shopifyJsonType == ShopifyJsonType.Variant)
            {
                var json = _productApi.RetrieveVariant(shopifyId);
                UpdateRecord(shopifyJsonType, shopifyId, json);
            }
            if (shopifyJsonType == ShopifyJsonType.Order)
            {
                var json = _orderApi.Retrieve(shopifyId);
                UpdateRecord(shopifyJsonType, shopifyId, json);
            }
            if (shopifyJsonType == ShopifyJsonType.Transaction)
            {
                var transactions =
                    _orderApi.RetrieveTransactions(shopifyId)
                    .DeserializeFromJson <List <Push.Shopify.Api.Transactions.Transaction> >();

                foreach (var transaction in transactions)
                {
                    UpdateRecord(shopifyJsonType, transaction.id, transaction.SerializeToJson());
                }
            }

            throw new NotImplementedException();
        }