Exemple #1
0
        protected virtual IAttributeStateCreated Map(ICreateAttribute c)
        {
            var stateEventId         = new AttributeStateEventId(c.AttributeId, c.Version);
            IAttributeStateCreated e = NewAttributeStateCreated(stateEventId);

            e.Name                 = c.Name;
            e.OrganizationId       = c.OrganizationId;
            e.Description          = c.Description;
            e.IsMandatory          = c.IsMandatory;
            e.IsInstanceAttribute  = c.IsInstanceAttribute;
            e.AttributeValueType   = c.AttributeValueType;
            e.AttributeValueLength = c.AttributeValueLength;
            e.IsList               = c.IsList;
            e.FieldName            = c.FieldName;
            e.ReferenceId          = c.ReferenceId;
            e.Active               = c.Active;
            ReflectUtils.CopyPropertyValue("CommandId", c, e);


            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = DateTime.Now;
            var version = c.Version;

            foreach (ICreateAttributeValue innerCommand in c.AttributeValues)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IAttributeValueStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddAttributeValueEvent(innerEvent);
            }


            return(e);
        }
        public virtual AttributeStateCreatedDto ToAttributeStateCreatedDto(IAttributeStateCreated e)
        {
            var dto = new AttributeStateCreatedDto();

            dto.StateEventId         = new AttributeStateEventIdDtoWrapper(e.StateEventId);
            dto.CreatedAt            = e.CreatedAt;
            dto.CreatedBy            = e.CreatedBy;
            dto.CommandId            = e.CommandId;
            dto.Name                 = e.Name;
            dto.OrganizationId       = e.OrganizationId;
            dto.Description          = e.Description;
            dto.IsMandatory          = e.IsMandatory;
            dto.IsInstanceAttribute  = e.IsInstanceAttribute;
            dto.AttributeValueType   = e.AttributeValueType;
            dto.AttributeValueLength = e.AttributeValueLength;
            dto.IsList               = e.IsList;
            dto.FieldName            = e.FieldName;
            dto.ReferenceId          = e.ReferenceId;
            dto.Active               = e.Active;
            var attributeValueEvents = new List <AttributeValueStateCreatedDto>();

            foreach (var ee in e.AttributeValueEvents)
            {
                AttributeValueStateCreatedDto eeDto = AttributeValueStateEventDtoConverter.ToAttributeValueStateCreatedDto(ee);
                attributeValueEvents.Add(eeDto);
            }
            dto.AttributeValueEvents = attributeValueEvents.ToArray();

            return(dto);
        }
Exemple #3
0
        public virtual void Initialize(IAttributeStateCreated stateCreated)
        {
            var aggregateId = stateCreated.AttributeEventId.AttributeId;
            var state       = new AttributeState();

            state.AttributeId = aggregateId;
            var aggregate = (AttributeAggregate)GetAttributeAggregate(state);

            var eventStoreAggregateId = ToEventStoreAggregateId(aggregateId);

            aggregate.Apply(stateCreated);
            Persist(eventStoreAggregateId, aggregate, state);
        }
Exemple #4
0
        protected virtual IAttributeStateCreated Map(ICreateAttribute c)
        {
            var stateEventId         = new AttributeEventId(c.AttributeId, c.Version);
            IAttributeStateCreated e = NewAttributeStateCreated(stateEventId);

            e.AttributeName        = c.AttributeName;
            e.OrganizationId       = c.OrganizationId;
            e.Description          = c.Description;
            e.IsMandatory          = c.IsMandatory;
            e.AttributeValueType   = c.AttributeValueType;
            e.AttributeValueLength = c.AttributeValueLength;
            e.IsList      = c.IsList;
            e.FieldName   = c.FieldName;
            e.ReferenceId = c.ReferenceId;
            e.Active      = c.Active;
            e.CommandId   = c.CommandId;


            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>();
            var version = c.Version;

            foreach (ICreateAttributeValue innerCommand in c.AttributeValues)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IAttributeValueStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddAttributeValueEvent(innerEvent);
            }

            foreach (ICreateAttributeAlias innerCommand in c.Aliases)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IAttributeAliasStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddAttributeAliasEvent(innerEvent);
            }


            return(e);
        }
Exemple #5
0
        public virtual void When(IAttributeStateCreated e)
        {
            ThrowOnWrongEvent(e);
            this.AttributeName = e.AttributeName;

            this.OrganizationId = e.OrganizationId;

            this.Description = e.Description;

            this.IsMandatory = (e.IsMandatory != null && e.IsMandatory.HasValue) ? e.IsMandatory.Value : default(bool);

            this.AttributeValueType = e.AttributeValueType;

            this.AttributeValueLength = e.AttributeValueLength;

            this.IsList = (e.IsList != null && e.IsList.HasValue) ? e.IsList.Value : default(bool);

            this.FieldName = e.FieldName;

            this.ReferenceId = e.ReferenceId;

            this.Active = (e.Active != null && e.Active.HasValue) ? e.Active.Value : default(bool);

            this.Deleted = false;

            this.CreatedBy = e.CreatedBy;
            this.CreatedAt = e.CreatedAt;

            foreach (IAttributeValueStateCreated innerEvent in e.AttributeValueEvents)
            {
                IAttributeValueState innerState = this.AttributeValues.Get(innerEvent.GlobalId.Value, true);
                innerState.Mutate(innerEvent);
            }
            foreach (IAttributeAliasStateCreated innerEvent in e.AttributeAliasEvents)
            {
                IAttributeAliasState innerState = this.Aliases.Get(innerEvent.GlobalId.Code, true);
                innerState.Mutate(innerEvent);
            }
        }
Exemple #6
0
 void IAttributeState.When(IAttributeStateCreated e)
 {
     throw new NotSupportedException();
 }
Exemple #7
0
        public virtual void Create(ICreateAttribute c)
        {
            IAttributeStateCreated e = Map(c);

            Apply(e);
        }