/// <summary> /// Apply the NoteTitleChanged. Apply() is of IEventHandler(of NoteTitleChangedEvent) /// </summary> /// <param name="event">Event to apply</param> public void Apply(NoteTitleChangedEvent @event) { //Important: State change done here //Pattern: Apply the generic event details first ApplyGenericEvent(@event, false); // Then apply specific event details this.Title = @event.title; }
public async Task HandleEventAsync(NoteTitleChangedEvent @event) { LogEvent(@event); var note = _repository.GetNote(@event.AggregateId); note.CurrentVersion = @event.TargetVersion + 1; note.Title = @event.Title; _repository.SaveNote(note); }
public Task <AsyncTaskResult> HandleAsync(NoteTitleChangedEvent evnt) { return(TryUpdateRecordAsync(connection => connection.UpdateAsync(new { Title = evnt.Title, UpdatedOn = evnt.Timestamp, Version = evnt.Version, EventSequence = evnt.Sequence }, new { Id = evnt.AggregateRootId, Version = evnt.Version - 1 }, ConfigSettings.NoteTable))); }
public void OnTitleChanged(NoteTitleChangedEvent @event) { Title = @event.Title; }