public static Task UpdateMessageAsync(this ICloudQueue queue, ICloudQueueMessage message, byte[] content, TimeSpan visibilityTimeout)
        {
            Require.NotNull(queue, "queue");
            Require.NotNull(message, "message");

            return(queue.UpdateMessageAsync(message.MessageId, message.PopReceipt, content, visibilityTimeout));
        }
        public static Task DeleteMessageAsync(this ICloudQueue queue, ICloudQueueMessage message)
        {
            Require.NotNull(queue, "queue");
            Require.NotNull(message, "message");

            return(queue.DeleteMessageAsync(message.MessageId, message.PopReceipt));
        }
Exemple #3
0
 public QueueFactory(IDictionary <QueueType, string> queueReferences,
                     ICloudQueue cloudQueue,
                     string baseUrl)
 {
     this.queueReferences = queueReferences;
     this.cloudQueue      = cloudQueue;
     this.baseUrl         = baseUrl;
 }
 public ReceivedNotification(
     ICloudQueue queue,
     ICloudQueueMessage notificationMessage,
     INotification notification)
 {
     m_queue = queue;
     m_notificationMessage = notificationMessage;
     m_notification        = notification;
 }
 public AzureStorageFabricConnectorWithConfiguration(
     ServiceId serviceId,
     INumericIdGenerator idGenerator,
     ICloudQueue transitionsQueue,
     ICloudTable routinesTable,
     ISerializer serializer,
     AzureStorageFabricConnectorConfiguration originalConfiguration)
     : base(serviceId, idGenerator, transitionsQueue, routinesTable, serializer)
 {
     Configuration = originalConfiguration;
 }
 public AzureStorageFabricConnector(
     ServiceId serviceId,
     INumericIdGenerator idGenerator,
     ICloudQueue transitionsQueue,
     ICloudTable routinesTable,
     ISerializer serializer)
 {
     _serviceId        = serviceId;
     _idGenerator      = idGenerator;
     _transitionsQueue = transitionsQueue;
     _routinesTable    = routinesTable;
     _serializer       = serializer;
 }
 public ContactHttpTriggerFunction(ICloudQueue <ContactFormRequestModel> cloudQueue)
 {
     _cloudQueue = cloudQueue;
 }
 public CloudBasedProductDataRepository(IProductValidator productValidator, ICloudDatabase cloudDatabase, ICloudQueue cloudQueue)
 {
     _productValidator = productValidator;
     _cloudDatabase    = cloudDatabase;
     _cloudQueue       = cloudQueue;
 }
        private void HandleQueueDeletionResult(ICloudQueue currentQueue, CloudOperationResponse<bool> deletionResult)
        {
            if (deletionResult.Response)
            {
                var listedQueue = this.CloudQueues.Where(q => q.Name.Equals(currentQueue.Name, StringComparison.InvariantCulture)).SingleOrDefault();
                if (listedQueue != null)
                {
                    this.CloudQueues.Remove(listedQueue);
                    this.Message = "Changes saved successfully.";
                }
            }
            else
            {
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", deletionResult.Exception.Message);
            }

            this.IsLoading = false;
        }
        private void HandleQueueCreationResult(ICloudQueue currentQueue, CloudOperationResponse<bool> creationResult)
        {
            if (creationResult.Response)
            {
                this.CloudQueues.Add(currentQueue);
                this.HasResults = true;
                this.Message = "Changes saved successfully.";
            }
            else
            {
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", creationResult.Exception.Message);
            }

            this.IsLoading = false;
        }
        public void DeleteQueue(ICloudQueue queue)
        {
            this.Message = "Deleting queue...";
            this.IsLoading = true;

            try
            {
                var currentQueue = this.queueClient.GetQueueReference(queue.Name);
                currentQueue.Delete(
                    deletionResult =>
                    {
                        if (this.dispatcher != null)
                        {
                            this.dispatcher.BeginInvoke(() => this.HandleQueueDeletionResult(currentQueue, deletionResult));
                        }
                        else
                        {
                            this.HandleQueueDeletionResult(currentQueue, deletionResult);
                        }
                    });
            }
            catch (Exception exception)
            {
                this.IsLoading = false;
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", exception.Message);
            }
        }
        private async Task <List <IReceivedNotification> > ReadNotificationsFromQueueAsync(ICloudQueue queue)
        {
            var messages = await queue.GetMessagesAsync(s_lockTimeout);

            var result = new List <IReceivedNotification>();

            foreach (var message in messages)
            {
                try
                {
                    using (var memory = new MemoryStream(message.Content))
                    {
                        result.Add(new ReceivedNotification(
                                       queue,
                                       message,
                                       m_formatter.FromBytes(memory)));
                    }
                }
                catch (Exception exception)
                {
                    s_logger.Error(
                        exception,
                        "Notification receiving failed. Content: {NotificationContent}.",
                        message.Content);
                }
            }
            return(result);
        }