public async Task SendNotificationAsync(string topic, MessageMemento message)
        {
            NotificationHubClient hub = NotificationHubClient
                .CreateClientFromConnectionString(
                    _connectionString, "occdist");

            var json = JsonConvert.SerializeObject(message);
            var notification = new WindowsNotification(json,
                new Dictionary<string, string> {
				{"X-WNS-Type", "wns/raw"}
			});
            await hub.SendNotificationAsync(notification, topic);
        }
Example #2
0
 public static Message FromMemento(MessageMemento memento)
 {
     return new Message(
         memento.Topics.ToImmutableList(),
         memento.MessageType,
         memento.Predecessors
             .Select(h => new Predecessor(h.Role, MessageHash.Parse(h.Hash)))
             .ToImmutableList(),
         memento.ObjectId,
         memento.Body,
         MessageHash.Parse(memento.Hash));
 }
Example #3
0
        public void WriteMessage(string topic, MessageMemento message)
        {
            var messageTable = OpenTable("Message");

            var timestamp = DateTimeOffset.UtcNow.ToString("yyyyMMddHHmmssfffffff");
            var entity = new MessageEntity(topic, timestamp);
            entity.Hash = message.Hash;
            entity.MessageType = message.MessageType;
            entity.Predecessors = JsonConvert.SerializeObject(message.Predecessors);
            entity.ObjectId = message.ObjectId;
            entity.Body = JsonConvert.SerializeObject(message.Body);

            var insert = TableOperation.Insert(entity);
            messageTable.Execute(insert);
        }