public override void Visit(CommandVisitor visitor) { base.Visit(visitor); if (AfterComplete != null) { AfterComplete.Visit(visitor); } if (BeforeCreate != null) { BeforeCreate.Visit(visitor); } if (InputControls != null) { foreach (var item in InputControls) { item.Visit(visitor); } } }
// fires events, then calls __AddEntity to do the actual add, if not cancelled by an event callback public bool AddEntity(Entity entity) { bool bAddApproved = true; if (BeforeCreate != null) { foreach (BeforeCreateHandler beforecreatecallback in BeforeCreate.GetInvocationList()) { if (!beforecreatecallback(this, new CreateEntityEventArgs(entity))) { bAddApproved = false; } } } if (!bAddApproved) { return(false); } entities.Add(entity); if (entity.iReference != 0) { entitybyreference.Add(entity.iReference, entity); } if (ObjectCreated != null) { //LogFile.WriteLine(entity); ObjectCreated(this, new ObjectCreatedArgs(DateTime.Now, entity)); } if (AfterCreate != null) { AfterCreate(this, new CreateEntityEventArgs(entity)); } return(true); }