Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
 private void Handle(LoggedInUserEvent @event)
 {
     Dispatch(new AchieveAffecionatedUserBadgeCommand(@event.Id, @event.Date));
 }