private async Task SendToAll(long id) { using var conn = new NpgsqlConnection(_connectionString); await conn.OpenAsync(); var result = await conn.GetAsync(id); EventChannel.Publish(result); await conn.CloseAsync(); }
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); }