Exemplo n.º 1
0
 /// <summary>
 /// Saves the <paramref name="messageContainer"/>.
 /// </summary>
 /// <param name="messageContainer">The message to save.</param>
 /// <returns>The saved <paramref name="messageContainer"/>.</returns>
 protected override MessageContainer DoSaveMessage(MessageContainer messageContainer)
 {
     MongoCollection<BsonDocument> collection = this.database.GetCollection(MessagingDatabase.MessageQueue._COLLECTION_NAME);
     BsonDocument doc = BsonConverter.ConvertToBsonViaJson(messageContainer);
     collection.Save(doc);
     return BsonConverter.ConvertToObjectViaJson<MessageContainer>(doc);
 }
 /// <summary>
 /// Adds a message to the queue.
 /// </summary>
 /// <param name="container">The message container.</param>
 /// <returns>The saved message container.</returns>
 protected override MessageContainer DoAddMessageToQueue(MessageContainer container)
 {
     string containerJson = JsonConvert.SerializeObject(container);
     string jsonResult = this.client.AddMessageToQueue(containerJson);
     var result = JsonConvert.DeserializeAnonymousType(jsonResult, new { Message = new MessageContainer() });
     return result.Message;
 }
        /// <summary>
        /// Creates and returns a new <see cref="MessageContainer"/> with
        /// <paramref name="message"/> as the message.
        /// </summary>
        /// <param name="gateway">The messaging gateway that acts as the this instance.</param>
        /// <param name="message">The message.</param>
        /// <returns>A new <see cref="MessageContainer"/> with <paramref name="message"/> as the message.</returns>
        public static MessageContainer AddMessageToQueue(this IMessagingServiceGateway gateway, MessageSerializable message)
        {
            MessageContainer container = new MessageContainer
                                         {
                Message = message
            };

            return gateway.AddMessageToQueue(container);
        }
        public MessageContainer AddMessageToQueue(MessageContainer container)
        {
            if (container.IsNew)
            {
                container.Id = Guid.NewGuid().ToString("N").Substring(0, 24);
            }

            return container;
        }
Exemplo n.º 5
0
 /// <summary>
 /// Saves the <paramref name="messageContainer"/>.
 /// </summary>
 /// <param name="messageContainer">The message to save.</param>
 /// <returns>The saved <paramref name="messageContainer"/>.</returns>
 protected abstract MessageContainer DoSaveMessage(MessageContainer messageContainer);
Exemplo n.º 6
0
 /// <summary>
 /// Saves the <paramref name="messageContainer"/>.
 /// </summary>
 /// <param name="messageContainer">The message to save.</param>
 /// <returns>The saved <paramref name="messageContainer"/>.</returns>
 public MessageContainer SaveMessage(MessageContainer messageContainer)
 {
     return this.DoSaveMessage(messageContainer);
 }
Exemplo n.º 7
0
 /// <summary>
 /// Saves the <paramref name="message"/> without changing the status and returns the saved object.
 /// </summary>
 /// <param name="message">The message to save.</param>
 /// <returns>The saved object.</returns>
 public MessageContainer SaveMessage(MessageContainer message)
 {
     return this.dataAccess.SaveMessage(message);
 }
Exemplo n.º 8
0
 /// <summary>
 /// Saves the <paramref name="message"/> and adds it into the queue to be sent and returns the saved object.
 /// </summary>
 /// <param name="message">The message to save.</param>
 /// <returns>The saved object.</returns>
 public MessageContainer EnqueueMessage(MessageContainer message)
 {
     message.Status = MessageStatus.Queued;
     return this.SaveMessage(message);
 }