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); }
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(); }