コード例 #1
0
        protected virtual IProductCategoryMemberStateMergePatched Map(IMergePatchProductCategoryMember c)
        {
            var stateEventId = new ProductCategoryMemberEventId(c.ProductCategoryMemberId, c.Version);
            IProductCategoryMemberStateMergePatched e = NewProductCategoryMemberStateMergePatched(stateEventId);

            e.ThruDate    = c.ThruDate;
            e.Comments    = c.Comments;
            e.SequenceNum = c.SequenceNum;
            e.Quantity    = c.Quantity;
            e.Active      = c.Active;
            e.IsPropertyThruDateRemoved    = c.IsPropertyThruDateRemoved;
            e.IsPropertyCommentsRemoved    = c.IsPropertyCommentsRemoved;
            e.IsPropertySequenceNumRemoved = c.IsPropertySequenceNumRemoved;
            e.IsPropertyQuantityRemoved    = c.IsPropertyQuantityRemoved;
            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);
        }
コード例 #2
0
        public virtual void MergePatch(IMergePatchProductCategoryMember c)
        {
            IProductCategoryMemberStateMergePatched e = Map(c);

            Apply(e);
        }
コード例 #3
0
 void IProductCategoryMemberState.When(IProductCategoryMemberStateMergePatched e)
 {
     throw new NotSupportedException();
 }
コード例 #4
0
        public virtual void When(IProductCategoryMemberStateMergePatched e)
        {
            ThrowOnWrongEvent(e);

            if (e.ThruDate == null)
            {
                if (e.IsPropertyThruDateRemoved)
                {
                    this.ThruDate = default(DateTime?);
                }
            }
            else
            {
                this.ThruDate = e.ThruDate;
            }

            if (e.Comments == null)
            {
                if (e.IsPropertyCommentsRemoved)
                {
                    this.Comments = default(string);
                }
            }
            else
            {
                this.Comments = e.Comments;
            }

            if (e.SequenceNum == null)
            {
                if (e.IsPropertySequenceNumRemoved)
                {
                    this.SequenceNum = default(long?);
                }
            }
            else
            {
                this.SequenceNum = e.SequenceNum;
            }

            if (e.Quantity == null)
            {
                if (e.IsPropertyQuantityRemoved)
                {
                    this.Quantity = default(decimal?);
                }
            }
            else
            {
                this.Quantity = e.Quantity;
            }

            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;
        }
コード例 #5
0
        public virtual ProductCategoryMemberStateMergePatchedDto ToProductCategoryMemberStateMergePatchedDto(IProductCategoryMemberStateMergePatched e)
        {
            var dto = new ProductCategoryMemberStateMergePatchedDto();

            dto.ProductCategoryMemberEventId = e.ProductCategoryMemberEventId;
            dto.CreatedAt   = e.CreatedAt;
            dto.CreatedBy   = e.CreatedBy;
            dto.CommandId   = e.CommandId;
            dto.ThruDate    = e.ThruDate;
            dto.Comments    = e.Comments;
            dto.SequenceNum = e.SequenceNum;
            dto.Quantity    = e.Quantity;
            dto.Active      = e.Active;
            dto.IsPropertyThruDateRemoved    = e.IsPropertyThruDateRemoved;
            dto.IsPropertyCommentsRemoved    = e.IsPropertyCommentsRemoved;
            dto.IsPropertySequenceNumRemoved = e.IsPropertySequenceNumRemoved;
            dto.IsPropertyQuantityRemoved    = e.IsPropertyQuantityRemoved;
            dto.IsPropertyActiveRemoved      = e.IsPropertyActiveRemoved;

            return(dto);
        }