public async Task Handle(NoteRestoredEvent notification, CancellationToken cancellationToken)
    {
        var note = await _readModelRepository.GetAsync <NoteDetail>(notification.AggregateId);

        note.When(notification);

        await _readModelRepository.UpdateAsync(note);

        var noteHistory = new NoteHistory
        {
            Id           = Guid.NewGuid(),
            NoteId       = note.Id,
            Title        = note.Title,
            Content      = note.Content,
            Version      = note.Version,
            CreationTime = notification.OccurrenceTime,
            CloneFormId  = note.CloneFormId,
            Comment      = $"Restored from v{notification.HistoryVersion}"
        };

        await _readModelRepository.InsertAsync(noteHistory);
    }
Beispiel #2
0
 public void When(NoteRestoredEvent @event)
 {
     Title    = @event.Title;
     Content  = @event.Content;
     Version += 1;
 }
Beispiel #3
0
 private void When(NoteRestoredEvent @event)
 {
     _title   = @event.Title;
     _content = @event.Content;
 }