Exemplo n.º 1
0
 void SetupCommands()
 {
     Command <Commands.CreateNewCompany>(cmd => {
         var evt1 = new Events.CompanyCreated(this.PersistenceId);
         var evt2 = new Events.NameChanged(cmd.Name);
         Persist(evt1, evt =>
         {
             this.Entity = new CompanyState(evt);
             Context.System.EventStream.Publish(evt);
             Persist(evt2, e =>
             {
                 this.Entity.Apply(e);
                 this.CheckForSnapshot();
                 Context.System.EventStream.Publish(e);
             });
         });
     });
     Command <Commands.ChangeCompanyName>(cmd =>
     {
         var evt = new Events.NameChanged(cmd.Name);
         Persist(evt, e =>
         {
             this.Entity.Apply(e);
             this.CheckForSnapshot();
             Context.System.EventStream.Publish(e);
         });
     });
 }
Exemplo n.º 2
0
 public CompanyState(Events.CompanyCreated evt)
 {
     this.PersistenceId = evt.Id;
 }