public void Handle(LogInUserCommand command) { User user = repo.GetById <User>(command.Id); //using (var stream = store.OpenStream(user.Id, 0, int.MaxValue)) using (var stream = store.OpenStream(Guid.NewGuid(), 0, int.MaxValue)) { // Extra-Domain Event var @event = new LoggedInUserEvent(user.Id, command.Date); //stream.UncommittedHeaders[AggregateTypeHeader] = mementoType.FullName.Replace("Memento", ""); stream.Add(new EventMessage { Body = @event }); stream.CommitChanges(Guid.NewGuid()); } }
private void Handle(LoggedInUserEvent @event) { Dispatch(new AchieveAffecionatedUserBadgeCommand(@event.Id, @event.Date)); }