Example #1
0
        public virtual void Initialize(IInventoryPostingRuleStateCreated stateCreated)
        {
            var aggregateId = stateCreated.InventoryPostingRuleEventId.InventoryPostingRuleId;
            var state       = new InventoryPostingRuleState();

            state.InventoryPostingRuleId = aggregateId;
            var aggregate = (InventoryPostingRuleAggregate)GetInventoryPostingRuleAggregate(state);

            var eventStoreAggregateId = ToEventStoreAggregateId(aggregateId);

            aggregate.Apply(stateCreated);
            Persist(eventStoreAggregateId, aggregate, state);
        }
        public virtual void When(IInventoryPostingRuleStateCreated e)
        {
            ThrowOnWrongEvent(e);
            this.TriggerInventoryItemId = e.TriggerInventoryItemId;

            this.OutputInventoryItemId = e.OutputInventoryItemId;

            this.TriggerAccountName = e.TriggerAccountName;

            this.OutputAccountName = e.OutputAccountName;

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

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

            this.Deleted = false;

            this.CreatedBy = e.CreatedBy;
            this.CreatedAt = e.CreatedAt;
        }
Example #3
0
        protected virtual IInventoryPostingRuleStateCreated Map(ICreateInventoryPostingRule c)
        {
            var stateEventId = new InventoryPostingRuleEventId(c.InventoryPostingRuleId, c.Version);
            IInventoryPostingRuleStateCreated e = NewInventoryPostingRuleStateCreated(stateEventId);

            e.TriggerInventoryItemId = c.TriggerInventoryItemId;
            e.OutputInventoryItemId  = c.OutputInventoryItemId;
            e.TriggerAccountName     = c.TriggerAccountName;
            e.OutputAccountName      = c.OutputAccountName;
            e.IsOutputNegated        = c.IsOutputNegated;
            e.Active    = c.Active;
            e.CommandId = c.CommandId;


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


            return(e);
        }
 void IInventoryPostingRuleState.When(IInventoryPostingRuleStateCreated e)
 {
     throw new NotSupportedException();
 }
        public virtual InventoryPostingRuleStateCreatedDto ToInventoryPostingRuleStateCreatedDto(IInventoryPostingRuleStateCreated e)
        {
            var dto = new InventoryPostingRuleStateCreatedDto();

            dto.InventoryPostingRuleEventId = e.InventoryPostingRuleEventId;
            dto.CreatedAt = e.CreatedAt;
            dto.CreatedBy = e.CreatedBy;
            dto.CommandId = e.CommandId;
            dto.TriggerInventoryItemId = e.TriggerInventoryItemId;
            dto.OutputInventoryItemId  = e.OutputInventoryItemId;
            dto.TriggerAccountName     = e.TriggerAccountName;
            dto.OutputAccountName      = e.OutputAccountName;
            dto.IsOutputNegated        = e.IsOutputNegated;
            dto.Active = e.Active;
            return(dto);
        }
Example #6
0
        public virtual void Create(ICreateInventoryPostingRule c)
        {
            IInventoryPostingRuleStateCreated e = Map(c);

            Apply(e);
        }