Exemple #1
0
        public virtual void When(IAttributeStateDeleted e)
        {
            ThrowOnWrongEvent(e);

            this.Deleted   = true;
            this.UpdatedBy = e.CreatedBy;
            this.UpdatedAt = e.CreatedAt;

            foreach (var innerState in this.AttributeValues)
            {
                this.AttributeValues.Remove(innerState);

                var innerE = e.NewAttributeValueStateRemoved(innerState.Value);
                ((AttributeValueEventBase)innerE).CreatedAt = e.CreatedAt;
                ((AttributeValueEventBase)innerE).CreatedBy = e.CreatedBy;
                innerState.When(innerE);
                //e.AddAttributeValueEvent(innerE);
            }

            foreach (var innerState in this.Aliases)
            {
                this.Aliases.Remove(innerState);

                var innerE = e.NewAttributeAliasStateRemoved(innerState.Code);
                ((AttributeAliasEventBase)innerE).CreatedAt = e.CreatedAt;
                ((AttributeAliasEventBase)innerE).CreatedBy = e.CreatedBy;
                innerState.When(innerE);
                //e.AddAttributeAliasEvent(innerE);
            }
        }