Example #1
0
        protected virtual IInventoryPostingRuleStateMergePatched Map(IMergePatchInventoryPostingRule c)
        {
            var stateEventId = new InventoryPostingRuleEventId(c.InventoryPostingRuleId, c.Version);
            IInventoryPostingRuleStateMergePatched e = NewInventoryPostingRuleStateMergePatched(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.IsPropertyTriggerInventoryItemIdRemoved = c.IsPropertyTriggerInventoryItemIdRemoved;
            e.IsPropertyOutputInventoryItemIdRemoved  = c.IsPropertyOutputInventoryItemIdRemoved;
            e.IsPropertyTriggerAccountNameRemoved     = c.IsPropertyTriggerAccountNameRemoved;
            e.IsPropertyOutputAccountNameRemoved      = c.IsPropertyOutputAccountNameRemoved;
            e.IsPropertyIsOutputNegatedRemoved        = c.IsPropertyIsOutputNegatedRemoved;
            e.IsPropertyActiveRemoved = c.IsPropertyActiveRemoved;

            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(IInventoryPostingRuleStateMergePatched e)
 {
     throw new NotSupportedException();
 }
        public virtual InventoryPostingRuleStateMergePatchedDto ToInventoryPostingRuleStateMergePatchedDto(IInventoryPostingRuleStateMergePatched e)
        {
            var dto = new InventoryPostingRuleStateMergePatchedDto();

            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;
            dto.IsPropertyTriggerInventoryItemIdRemoved = e.IsPropertyTriggerInventoryItemIdRemoved;
            dto.IsPropertyOutputInventoryItemIdRemoved  = e.IsPropertyOutputInventoryItemIdRemoved;
            dto.IsPropertyTriggerAccountNameRemoved     = e.IsPropertyTriggerAccountNameRemoved;
            dto.IsPropertyOutputAccountNameRemoved      = e.IsPropertyOutputAccountNameRemoved;
            dto.IsPropertyIsOutputNegatedRemoved        = e.IsPropertyIsOutputNegatedRemoved;
            dto.IsPropertyActiveRemoved = e.IsPropertyActiveRemoved;

            return(dto);
        }
        public virtual void When(IInventoryPostingRuleStateMergePatched e)
        {
            ThrowOnWrongEvent(e);

            if (e.TriggerInventoryItemId == null)
            {
                if (e.IsPropertyTriggerInventoryItemIdRemoved)
                {
                    this.TriggerInventoryItemId = default(InventoryItemId);
                }
            }
            else
            {
                this.TriggerInventoryItemId = e.TriggerInventoryItemId;
            }

            if (e.OutputInventoryItemId == null)
            {
                if (e.IsPropertyOutputInventoryItemIdRemoved)
                {
                    this.OutputInventoryItemId = default(InventoryItemId);
                }
            }
            else
            {
                this.OutputInventoryItemId = e.OutputInventoryItemId;
            }

            if (e.TriggerAccountName == null)
            {
                if (e.IsPropertyTriggerAccountNameRemoved)
                {
                    this.TriggerAccountName = default(string);
                }
            }
            else
            {
                this.TriggerAccountName = e.TriggerAccountName;
            }

            if (e.OutputAccountName == null)
            {
                if (e.IsPropertyOutputAccountNameRemoved)
                {
                    this.OutputAccountName = default(string);
                }
            }
            else
            {
                this.OutputAccountName = e.OutputAccountName;
            }

            if (e.IsOutputNegated == null)
            {
                if (e.IsPropertyIsOutputNegatedRemoved)
                {
                    this.IsOutputNegated = default(bool);
                }
            }
            else
            {
                this.IsOutputNegated = (e.IsOutputNegated != null && e.IsOutputNegated.HasValue) ? e.IsOutputNegated.Value : default(bool);
            }

            if (e.Active == null)
            {
                if (e.IsPropertyActiveRemoved)
                {
                    this.Active = default(bool);
                }
            }
            else
            {
                this.Active = (e.Active != null && e.Active.HasValue) ? e.Active.Value : default(bool);
            }


            this.UpdatedBy = e.CreatedBy;
            this.UpdatedAt = e.CreatedAt;
        }
Example #5
0
        public virtual void MergePatch(IMergePatchInventoryPostingRule c)
        {
            IInventoryPostingRuleStateMergePatched e = Map(c);

            Apply(e);
        }