void Apply(IEvent @event, bool isNew) { if (isNew) { @event.EventSource = EventSourceType.AssemblyQualifiedName; UncommittedEvents.Append(@event); Version = Version.NextSequence(); @event.Version = Version; } HandleInternally(@event); }
/// <inheritdoc/> public async Task HandlePostRequest(HttpContext context, IEvent @event) { var eventSourceQuery = context.Request.Query["EventSource-ID"].ToString(); if (Guid.TryParse(eventSourceQuery, out var eventSourceId)) { var uncommittedEvents = new UncommittedEvents(); uncommittedEvents.Append(eventSourceId, @event); var committedEvents = await _eventStore.Commit(uncommittedEvents).ConfigureAwait(false); await context.RespondWithOk($"Event {@event.GetType()} committed. \nCommittedEvents: {committedEvents}").ConfigureAwait(false); } else { await context.RespondWithBadRequest($"A valid GUID is required as the EventSource-ID parameter. Received {eventSourceQuery}").ConfigureAwait(false); } }