public void Sync()
        {
            var amazonSyncSettings = _configurationProvider.GetSiteSettings <AmazonSyncSettings>();
            var lastRun            = amazonSyncSettings.LastRun;

            DateTime @from;
            var      now = CurrentRequestData.Now;
            var      to  = now.AddMinutes(-30);

            if (lastRun.HasValue)
            {
                if (lastRun > to)
                {
                    return;
                }
                @from = lastRun.Value;
            }
            else
            {
                @from = now.AddMonths(-2);
            }
            var updatedOrdersRequest = new GetUpdatedOrdersRequest
            {
                LastUpdatedAfter  = @from,
                LastUpdatedBefore = to
            };

            amazonSyncSettings.LastRun = to;
            _configurationProvider.SaveSettings(amazonSyncSettings);
            _amazonOrderSyncManager.GetUpdatedInfoFromAmazon(updatedOrdersRequest);
        }
        public IEnumerable <Order> ListUpdatedOrders(GetUpdatedOrdersRequest newOrdersRequest)
        {
            var request = new ListOrdersRequest
            {
                SellerId          = _amazonSellerSettings.SellerId,
                MarketplaceId     = new MarketplaceIdList().WithId(_amazonSellerSettings.MarketplaceId),
                LastUpdatedAfter  = newOrdersRequest.LastUpdatedAfter,
                LastUpdatedBefore = newOrdersRequest.LastUpdatedBefore,
            };

            return(ListOrders(request));
        }
        public List <Order> ListCreatedOrders(GetUpdatedOrdersRequest updatedOrdersRequest)
        {
            var request = new ListOrdersRequest
            {
                SellerId      = _amazonSellerSettings.SellerId,
                MarketplaceId = new MarketplaceIdList().WithId(_amazonSellerSettings.MarketplaceId),
                CreatedAfter  = updatedOrdersRequest.LastUpdatedAfter,
                CreatedBefore = updatedOrdersRequest.LastUpdatedBefore,
            };

            return(ListOrders(request));
        }