Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
        // 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);
        }