public void DeleteWorkItem(WorkItemInfo workItem)
        {
            var rec     = constructAzureServiceBusReceiver(workItem.WorkerType);
            var resTask = rec.CompleteAsync(workItem.GetParamOrDefault("LockToken"));

            resTask.Wait();
        }
        public void ReleaseWorkItem(WorkItemInfo workItem)
        {
            var queueClient = constructAzureServiceBusQueue(workItem.WorkerType);
            var resTask     = queueClient.AbandonAsync(workItem.GetParamOrDefault("LockToken"));

            resTask.Wait();
        }
        public void Azure_SendAndGet_SQSWorkItem()
        {
            addItem("Test");
            WorkItemInfo item = getNextItem();

            Assert.IsNotNull(item);
            Assert.IsNotNull(item.ExtraParams);
            Assert.AreEqual(item.GetParamOrDefault("TestProperty"), "Test");
        }
        public void DeleteWorkItem(WorkItemInfo workItem)
        {
            string          queueSuffix = workItem.WorkerType;
            string          finalQueueName;
            AmazonSQSClient sqsClient = constructSqsClient(ConfigurationManager.AppSettings[AWSSQSConfigOptions.AWSQueueURL], queueSuffix, out finalQueueName);
            var             resTask   = sqsClient.DeleteMessageAsync(finalQueueName, workItem.GetParamOrDefault("ReceiptHandle"));

            resTask.Wait();
            if (resTask.Result.HttpStatusCode != System.Net.HttpStatusCode.OK)
            {
                throw new InvalidOperationException("The item was not correctly deleted, error code=" + resTask.Result.HttpStatusCode, resTask.Exception);
            }
        }