コード例 #1
0
 void Apply(IEvent @event, bool isNew)
 {
     if (isNew)
     {
         @event.EventSource = EventSourceType.AssemblyQualifiedName;
         UncommittedEvents.Append(@event);
         Version        = Version.NextSequence();
         @event.Version = Version;
     }
     HandleInternally(@event);
 }
コード例 #2
0
        /// <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);
            }
        }