Ejemplo n.º 1
0
        protected virtual ISellableInventoryItemEntryMvoStateMergePatched Map(IMergePatchSellableInventoryItemEntryMvo c)
        {
            var stateEventId = new SellableInventoryItemEntryMvoEventId(c.SellableInventoryItemEntryId, c.SellableInventoryItemVersion);
            ISellableInventoryItemEntryMvoStateMergePatched e = NewSellableInventoryItemEntryMvoStateMergePatched(stateEventId);

            e.SellableQuantity = c.SellableQuantity;
            e.SourceEventId    = c.SourceEventId;
            e.Version          = c.Version;
            e.SellableInventoryItemSellableQuantity = c.SellableInventoryItemSellableQuantity;
            e.SellableInventoryItemCreatedBy        = c.SellableInventoryItemCreatedBy;
            e.SellableInventoryItemCreatedAt        = c.SellableInventoryItemCreatedAt;
            e.SellableInventoryItemUpdatedBy        = c.SellableInventoryItemUpdatedBy;
            e.SellableInventoryItemUpdatedAt        = c.SellableInventoryItemUpdatedAt;
            e.IsPropertySellableQuantityRemoved     = c.IsPropertySellableQuantityRemoved;
            e.IsPropertySourceEventIdRemoved        = c.IsPropertySourceEventIdRemoved;
            e.IsPropertyVersionRemoved = c.IsPropertyVersionRemoved;
            e.IsPropertySellableInventoryItemSellableQuantityRemoved = c.IsPropertySellableInventoryItemSellableQuantityRemoved;
            e.IsPropertySellableInventoryItemCreatedByRemoved        = c.IsPropertySellableInventoryItemCreatedByRemoved;
            e.IsPropertySellableInventoryItemCreatedAtRemoved        = c.IsPropertySellableInventoryItemCreatedAtRemoved;
            e.IsPropertySellableInventoryItemUpdatedByRemoved        = c.IsPropertySellableInventoryItemUpdatedByRemoved;
            e.IsPropertySellableInventoryItemUpdatedAtRemoved        = c.IsPropertySellableInventoryItemUpdatedAtRemoved;

            e.CommandId = c.CommandId;


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

            var sellableInventoryItemVersion = c.SellableInventoryItemVersion;


            return(e);
        }
        public virtual SellableInventoryItemEntryMvoStateMergePatchedDto ToSellableInventoryItemEntryMvoStateMergePatchedDto(ISellableInventoryItemEntryMvoStateMergePatched e)
        {
            var dto = new SellableInventoryItemEntryMvoStateMergePatchedDto();

            dto.SellableInventoryItemEntryMvoEventId = e.SellableInventoryItemEntryMvoEventId;
            dto.CreatedAt        = e.CreatedAt;
            dto.CreatedBy        = e.CreatedBy;
            dto.CommandId        = e.CommandId;
            dto.SellableQuantity = e.SellableQuantity;
            dto.SourceEventId    = e.SourceEventId;
            dto.Version          = e.Version;
            dto.SellableInventoryItemSellableQuantity = e.SellableInventoryItemSellableQuantity;
            dto.SellableInventoryItemCreatedBy        = e.SellableInventoryItemCreatedBy;
            dto.SellableInventoryItemCreatedAt        = e.SellableInventoryItemCreatedAt;
            dto.SellableInventoryItemUpdatedBy        = e.SellableInventoryItemUpdatedBy;
            dto.SellableInventoryItemUpdatedAt        = e.SellableInventoryItemUpdatedAt;
            dto.IsPropertySellableQuantityRemoved     = e.IsPropertySellableQuantityRemoved;
            dto.IsPropertySourceEventIdRemoved        = e.IsPropertySourceEventIdRemoved;
            dto.IsPropertyVersionRemoved = e.IsPropertyVersionRemoved;
            dto.IsPropertySellableInventoryItemSellableQuantityRemoved = e.IsPropertySellableInventoryItemSellableQuantityRemoved;
            dto.IsPropertySellableInventoryItemCreatedByRemoved        = e.IsPropertySellableInventoryItemCreatedByRemoved;
            dto.IsPropertySellableInventoryItemCreatedAtRemoved        = e.IsPropertySellableInventoryItemCreatedAtRemoved;
            dto.IsPropertySellableInventoryItemUpdatedByRemoved        = e.IsPropertySellableInventoryItemUpdatedByRemoved;
            dto.IsPropertySellableInventoryItemUpdatedAtRemoved        = e.IsPropertySellableInventoryItemUpdatedAtRemoved;

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

            if (e.SellableQuantity == null)
            {
                if (e.IsPropertySellableQuantityRemoved)
                {
                    this.SellableQuantity = default(decimal);
                }
            }
            else
            {
                this.SellableQuantity = (e.SellableQuantity != null && e.SellableQuantity.HasValue) ? e.SellableQuantity.Value : default(decimal);
            }

            if (e.SourceEventId == null)
            {
                if (e.IsPropertySourceEventIdRemoved)
                {
                    this.SourceEventId = default(InventoryPRTriggeredId);
                }
            }
            else
            {
                this.SourceEventId = e.SourceEventId;
            }

            if (e.Version == null)
            {
                if (e.IsPropertyVersionRemoved)
                {
                    this.Version = default(long);
                }
            }
            else
            {
                this.Version = (e.Version != null && e.Version.HasValue) ? e.Version.Value : default(long);
            }

            if (e.SellableInventoryItemSellableQuantity == null)
            {
                if (e.IsPropertySellableInventoryItemSellableQuantityRemoved)
                {
                    this.SellableInventoryItemSellableQuantity = default(decimal);
                }
            }
            else
            {
                this.SellableInventoryItemSellableQuantity = (e.SellableInventoryItemSellableQuantity != null && e.SellableInventoryItemSellableQuantity.HasValue) ? e.SellableInventoryItemSellableQuantity.Value : default(decimal);
            }

            if (e.SellableInventoryItemCreatedBy == null)
            {
                if (e.IsPropertySellableInventoryItemCreatedByRemoved)
                {
                    this.SellableInventoryItemCreatedBy = default(string);
                }
            }
            else
            {
                this.SellableInventoryItemCreatedBy = e.SellableInventoryItemCreatedBy;
            }

            if (e.SellableInventoryItemCreatedAt == null)
            {
                if (e.IsPropertySellableInventoryItemCreatedAtRemoved)
                {
                    this.SellableInventoryItemCreatedAt = default(DateTime);
                }
            }
            else
            {
                this.SellableInventoryItemCreatedAt = (e.SellableInventoryItemCreatedAt != null && e.SellableInventoryItemCreatedAt.HasValue) ? e.SellableInventoryItemCreatedAt.Value : default(DateTime);
            }

            if (e.SellableInventoryItemUpdatedBy == null)
            {
                if (e.IsPropertySellableInventoryItemUpdatedByRemoved)
                {
                    this.SellableInventoryItemUpdatedBy = default(string);
                }
            }
            else
            {
                this.SellableInventoryItemUpdatedBy = e.SellableInventoryItemUpdatedBy;
            }

            if (e.SellableInventoryItemUpdatedAt == null)
            {
                if (e.IsPropertySellableInventoryItemUpdatedAtRemoved)
                {
                    this.SellableInventoryItemUpdatedAt = default(DateTime);
                }
            }
            else
            {
                this.SellableInventoryItemUpdatedAt = (e.SellableInventoryItemUpdatedAt != null && e.SellableInventoryItemUpdatedAt.HasValue) ? e.SellableInventoryItemUpdatedAt.Value : default(DateTime);
            }


            this.UpdatedBy = e.CreatedBy;
            this.UpdatedAt = e.CreatedAt;
        }
Ejemplo n.º 4
0
 void ISellableInventoryItemEntryMvoState.When(ISellableInventoryItemEntryMvoStateMergePatched e)
 {
     throw new NotSupportedException();
 }
Ejemplo n.º 5
0
        public virtual void MergePatch(IMergePatchSellableInventoryItemEntryMvo c)
        {
            ISellableInventoryItemEntryMvoStateMergePatched e = Map(c);

            Apply(e);
        }