Esempio n. 1
0
 public static void Publish(PersistedEvent tup)
 {
     foreach (var item in s_subscribers.Values)
     {
         item.Writer.TryWrite(tup);
     }
 }
Esempio n. 2
0
        private void SendToAll(JsonDocument jsonDocument)
        {
            var aggregateId = jsonDocument.RootElement.GetProperty("AggregateId").GetGuid();
            var eventType   = jsonDocument.RootElement.GetProperty("EventType").GetString();
            var id          = jsonDocument.RootElement.GetProperty("Id").GetInt64();
            var timeStamp   = InstantPattern.General.Parse(jsonDocument.RootElement.GetProperty("Timestamp").GetString()).Value;
            var version     = jsonDocument.RootElement.GetProperty("Version").GetInt32();
            var payload     = jsonDocument.RootElement.GetProperty("Payload").GetBytesFromBase64();
            var metadata    = jsonDocument.RootElement.GetProperty("Metadata").GetBytesFromBase64();

            var result = new PersistedEvent
            {
                AggregateId = aggregateId,
                EventType   = eventType,
                Id          = id,
                Metadata    = metadata,
                Payload     = payload,
                Timestamp   = timeStamp,
                Version     = version
            };

            EventChannel.Publish(result);
        }