Exemplo n.º 1
0
        public ProductQueryResponseItem[] DequeueProductQueryResponse(int messageId)
        {
            ProductQueryResponseItem[] products = null;
            var client = new QueueOf_ProductQueryRequest_ProductQueryResponseClient();

            DateTime? dequeuedAt = null;
            var numberOfFailedAttempts = 0;

            Log.ForCurrent.DebugFormat("Dequeueing ProductQueryRequest. MessageId: {0}", messageId);
            for (var i = 0; i < _settings.MaximumNumberOfRetries; i++)
            {
                Thread.Sleep(_settings.MillisecondsBetweenRetries);
                products = client.DequeueMessage(messageId);

                if (products != null)
                {
                    dequeuedAt = DateTime.Now;
                    break;
                }

                numberOfFailedAttempts++;
            }

            _pimRequestLogRepository.UpdateRequestWithResponseData(messageId, dequeuedAt, numberOfFailedAttempts, products);

            return products;
        }
Exemplo n.º 2
0
        public ProductQueryResponseItem[] DequeueProductQueryResponse(int messageId)
        {
            ProductQueryResponseItem[] products = null;
            var client = new QueueOf_ProductQueryRequest_ProductQueryResponseClient();

            DateTime?dequeuedAt             = null;
            var      numberOfFailedAttempts = 0;

            Log.ForCurrent.DebugFormat("Dequeueing ProductQueryRequest. MessageId: {0}", messageId);
            for (var i = 0; i < _settings.MaximumNumberOfRetries; i++)
            {
                Thread.Sleep(_settings.MillisecondsBetweenRetries);
                products = client.DequeueMessage(messageId);

                if (products != null)
                {
                    dequeuedAt = DateTime.Now;
                    break;
                }

                numberOfFailedAttempts++;
            }

            _pimRequestLogRepository.UpdateRequestWithResponseData(messageId, dequeuedAt, numberOfFailedAttempts, products);

            return(products);
        }
Exemplo n.º 3
0
        public int EnqueueProductQueryRequest(string primaryAction, string secondaryAction, ProductQueryRequestItem queryItem)
        {
            Log.ForCurrent.DebugFormat("Enqueueing ProductQueryRequest. Primary action: {0}. Secondary action: {1}", primaryAction, secondaryAction);
            var messageId = new QueueOf_ProductQueryRequest_ProductQueryResponseClient().EnqueueMessage(queryItem, primaryAction, secondaryAction);

            LogRequest(messageId, primaryAction, secondaryAction, queryItem);

            return messageId;
        }
Exemplo n.º 4
0
        public int EnqueueProductQueryRequest(string primaryAction, string secondaryAction, ProductQueryRequestItem queryItem)
        {
            Log.ForCurrent.DebugFormat("Enqueueing ProductQueryRequest. Primary action: {0}. Secondary action: {1}", primaryAction, secondaryAction);
            var messageId = new QueueOf_ProductQueryRequest_ProductQueryResponseClient().EnqueueMessage(queryItem, primaryAction, secondaryAction);

            LogRequest(messageId, primaryAction, secondaryAction, queryItem);

            return(messageId);
        }