Пример #1
0
        public void RunAutomatic()
        {
            if (_jobMonitoringService.DetectCurrentJobInterrupt())
            {
                return;
            }

            var settings   = _settingsRepository.RetrieveSettings();
            var batchState = _batchRepository.Retrieve();

            if (batchState.ShopifyCustomersGetEnd == null)
            {
                var filter = new SearchFilter();
                filter.UpdatedAtMinUtc = settings.ShopifyOrderCreatedAtUtc.Value;

                Run(filter);
            }
            else
            {
                var filter = new SearchFilter();
                filter.UpdatedAtMinUtc = batchState.ShopifyCustomersGetEnd.Value;

                Run(filter);
            }
        }
Пример #2
0
        public void RunAutomatic()
        {
            var batchState = _batchRepository.Retrieve();

            _executionLogService.Log("Refreshing Inventory from Shopify");

            Run(batchState.ShopifyProductsGetEnd);
        }
        // Use this for Routine methods
        public void RunPayoutHeaders()
        {
            var settings   = _settingsRepository.RetrieveSettings();
            var batchState = _shopifyBatchRepository.Retrieve();
            var minDate    = batchState.ShopifyPayoutGetEnd ?? settings.ShopifyOrderCreatedAtUtc.Value;

            // First stage is to import Payouts based on Date
            var firstPayouts =
                _payoutApi
                .RetrievePayoutsHeaders(minDate, page: 1, limit: 50)
                .DeserializeFromJson <PayoutList>();

            UpsertPayoutHeaders(firstPayouts.payouts);

            var currentPage = 2;

            while (true)
            {
                var currentPayouts =
                    _payoutApi
                    .RetrievePayoutsHeaders(minDate, page: currentPage, limit: 50)
                    .DeserializeFromJson <PayoutList>();

                if (currentPayouts.payouts.Count == 0)
                {
                    break;
                }

                UpsertPayoutHeaders(firstPayouts.payouts);
            }

            // Next, import Payout Headers for anything that was either
            // ... in status of "schedule" or "in_transit"
            var unprocessedPayouts
                = _persistRepository.RetrievePayoutsNotYetProcessedByBank();

            foreach (var unprocessedPayout in unprocessedPayouts)
            {
                RunPayoutHeader(unprocessedPayout.ShopifyPayoutId);
            }
        }
Пример #4
0
        public void RunAutomatic()
        {
            var settings   = _settingsRepository.RetrieveSettings();
            var batchState = _batchRepository.Retrieve();

            if (batchState.ShopifyOrdersGetEnd.HasValue)
            {
                var filter = new SearchFilter();
                filter.SinceId         = settings.ShopifyOrderId.Value;
                filter.UpdatedAtMinUtc = batchState.ShopifyOrdersGetEnd.Value;

                Run(filter);
            }
            else
            {
                var filter = new SearchFilter();
                filter.SinceId = settings.ShopifyOrderId.Value;

                Run(filter);
            }
        }