コード例 #1
0
ファイル: OrderState.cs プロジェクト: uwitec/wms-8
        public virtual void When(IOrderStateMergePatched e)
        {
            ThrowOnWrongEvent(e);

            if (e.OrderTypeId == null)
            {
                if (e.IsPropertyOrderTypeIdRemoved)
                {
                    this.OrderTypeId = default(string);
                }
            }
            else
            {
                this.OrderTypeId = e.OrderTypeId;
            }

            if (e.OrderName == null)
            {
                if (e.IsPropertyOrderNameRemoved)
                {
                    this.OrderName = default(string);
                }
            }
            else
            {
                this.OrderName = e.OrderName;
            }

            if (e.ExternalId == null)
            {
                if (e.IsPropertyExternalIdRemoved)
                {
                    this.ExternalId = default(string);
                }
            }
            else
            {
                this.ExternalId = e.ExternalId;
            }

            if (e.SalesChannelEnumId == null)
            {
                if (e.IsPropertySalesChannelEnumIdRemoved)
                {
                    this.SalesChannelEnumId = default(string);
                }
            }
            else
            {
                this.SalesChannelEnumId = e.SalesChannelEnumId;
            }

            if (e.OrderDate == null)
            {
                if (e.IsPropertyOrderDateRemoved)
                {
                    this.OrderDate = default(DateTime?);
                }
            }
            else
            {
                this.OrderDate = e.OrderDate;
            }

            if (e.Priority == null)
            {
                if (e.IsPropertyPriorityRemoved)
                {
                    this.Priority = default(string);
                }
            }
            else
            {
                this.Priority = e.Priority;
            }

            if (e.EntryDate == null)
            {
                if (e.IsPropertyEntryDateRemoved)
                {
                    this.EntryDate = default(DateTime?);
                }
            }
            else
            {
                this.EntryDate = e.EntryDate;
            }

            if (e.PickSheetPrintedDate == null)
            {
                if (e.IsPropertyPickSheetPrintedDateRemoved)
                {
                    this.PickSheetPrintedDate = default(DateTime?);
                }
            }
            else
            {
                this.PickSheetPrintedDate = e.PickSheetPrintedDate;
            }

            if (e.StatusId == null)
            {
                if (e.IsPropertyStatusIdRemoved)
                {
                    this.StatusId = default(string);
                }
            }
            else
            {
                this.StatusId = e.StatusId;
            }

            if (e.CurrencyUomId == null)
            {
                if (e.IsPropertyCurrencyUomIdRemoved)
                {
                    this.CurrencyUomId = default(string);
                }
            }
            else
            {
                this.CurrencyUomId = e.CurrencyUomId;
            }

            if (e.SyncStatusId == null)
            {
                if (e.IsPropertySyncStatusIdRemoved)
                {
                    this.SyncStatusId = default(string);
                }
            }
            else
            {
                this.SyncStatusId = e.SyncStatusId;
            }

            if (e.BillingAccountId == null)
            {
                if (e.IsPropertyBillingAccountIdRemoved)
                {
                    this.BillingAccountId = default(string);
                }
            }
            else
            {
                this.BillingAccountId = e.BillingAccountId;
            }

            if (e.OriginFacilityId == null)
            {
                if (e.IsPropertyOriginFacilityIdRemoved)
                {
                    this.OriginFacilityId = default(string);
                }
            }
            else
            {
                this.OriginFacilityId = e.OriginFacilityId;
            }

            if (e.WebSiteId == null)
            {
                if (e.IsPropertyWebSiteIdRemoved)
                {
                    this.WebSiteId = default(string);
                }
            }
            else
            {
                this.WebSiteId = e.WebSiteId;
            }

            if (e.ProductStoreId == null)
            {
                if (e.IsPropertyProductStoreIdRemoved)
                {
                    this.ProductStoreId = default(string);
                }
            }
            else
            {
                this.ProductStoreId = e.ProductStoreId;
            }

            if (e.TerminalId == null)
            {
                if (e.IsPropertyTerminalIdRemoved)
                {
                    this.TerminalId = default(string);
                }
            }
            else
            {
                this.TerminalId = e.TerminalId;
            }

            if (e.TransactionId == null)
            {
                if (e.IsPropertyTransactionIdRemoved)
                {
                    this.TransactionId = default(string);
                }
            }
            else
            {
                this.TransactionId = e.TransactionId;
            }

            if (e.AutoOrderShoppingListId == null)
            {
                if (e.IsPropertyAutoOrderShoppingListIdRemoved)
                {
                    this.AutoOrderShoppingListId = default(string);
                }
            }
            else
            {
                this.AutoOrderShoppingListId = e.AutoOrderShoppingListId;
            }

            if (e.NeedsInventoryIssuance == null)
            {
                if (e.IsPropertyNeedsInventoryIssuanceRemoved)
                {
                    this.NeedsInventoryIssuance = default(string);
                }
            }
            else
            {
                this.NeedsInventoryIssuance = e.NeedsInventoryIssuance;
            }

            if (e.IsRushOrder == null)
            {
                if (e.IsPropertyIsRushOrderRemoved)
                {
                    this.IsRushOrder = default(string);
                }
            }
            else
            {
                this.IsRushOrder = e.IsRushOrder;
            }

            if (e.InternalCode == null)
            {
                if (e.IsPropertyInternalCodeRemoved)
                {
                    this.InternalCode = default(string);
                }
            }
            else
            {
                this.InternalCode = e.InternalCode;
            }

            if (e.RemainingSubTotal == null)
            {
                if (e.IsPropertyRemainingSubTotalRemoved)
                {
                    this.RemainingSubTotal = default(decimal?);
                }
            }
            else
            {
                this.RemainingSubTotal = e.RemainingSubTotal;
            }

            if (e.GrandTotal == null)
            {
                if (e.IsPropertyGrandTotalRemoved)
                {
                    this.GrandTotal = default(decimal?);
                }
            }
            else
            {
                this.GrandTotal = e.GrandTotal;
            }

            if (e.InvoicePerShipment == null)
            {
                if (e.IsPropertyInvoicePerShipmentRemoved)
                {
                    this.InvoicePerShipment = default(string);
                }
            }
            else
            {
                this.InvoicePerShipment = e.InvoicePerShipment;
            }

            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;


            foreach (IOrderRoleEvent innerEvent in e.OrderRoleEvents)
            {
                IOrderRoleState innerState = this.OrderRoles.Get(innerEvent.GlobalId.PartyRoleId);

                innerState.Mutate(innerEvent);
                var removed = innerEvent as IOrderRoleStateRemoved;
                if (removed != null)
                {
                    this.OrderRoles.Remove(innerState);
                }
            }

            foreach (IOrderItemEvent innerEvent in e.OrderItemEvents)
            {
                IOrderItemState innerState = this.OrderItems.Get(innerEvent.GlobalId.OrderItemSeqId);

                innerState.Mutate(innerEvent);
            }

            foreach (IOrderShipGroupEvent innerEvent in e.OrderShipGroupEvents)
            {
                IOrderShipGroupState innerState = this.OrderShipGroups.Get(innerEvent.GlobalId.ShipGroupSeqId);

                innerState.Mutate(innerEvent);
                var removed = innerEvent as IOrderShipGroupStateRemoved;
                if (removed != null)
                {
                    this.OrderShipGroups.Remove(innerState);
                }
            }
        }
コード例 #2
0
ファイル: OrderState.cs プロジェクト: uwitec/wms-8
        public virtual void When(IOrderStateCreated e)
        {
            ThrowOnWrongEvent(e);
            this.OrderTypeId = e.OrderTypeId;

            this.OrderName = e.OrderName;

            this.ExternalId = e.ExternalId;

            this.SalesChannelEnumId = e.SalesChannelEnumId;

            this.OrderDate = e.OrderDate;

            this.Priority = e.Priority;

            this.EntryDate = e.EntryDate;

            this.PickSheetPrintedDate = e.PickSheetPrintedDate;

            this.StatusId = e.StatusId;

            this.CurrencyUomId = e.CurrencyUomId;

            this.SyncStatusId = e.SyncStatusId;

            this.BillingAccountId = e.BillingAccountId;

            this.OriginFacilityId = e.OriginFacilityId;

            this.WebSiteId = e.WebSiteId;

            this.ProductStoreId = e.ProductStoreId;

            this.TerminalId = e.TerminalId;

            this.TransactionId = e.TransactionId;

            this.AutoOrderShoppingListId = e.AutoOrderShoppingListId;

            this.NeedsInventoryIssuance = e.NeedsInventoryIssuance;

            this.IsRushOrder = e.IsRushOrder;

            this.InternalCode = e.InternalCode;

            this.RemainingSubTotal = e.RemainingSubTotal;

            this.GrandTotal = e.GrandTotal;

            this.InvoicePerShipment = e.InvoicePerShipment;

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

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

            foreach (IOrderRoleStateCreated innerEvent in e.OrderRoleEvents)
            {
                IOrderRoleState innerState = this.OrderRoles.Get(innerEvent.GlobalId.PartyRoleId, true);
                innerState.Mutate(innerEvent);
            }
            foreach (IOrderItemStateCreated innerEvent in e.OrderItemEvents)
            {
                IOrderItemState innerState = this.OrderItems.Get(innerEvent.GlobalId.OrderItemSeqId, true);
                innerState.Mutate(innerEvent);
            }
            foreach (IOrderShipGroupStateCreated innerEvent in e.OrderShipGroupEvents)
            {
                IOrderShipGroupState innerState = this.OrderShipGroups.Get(innerEvent.GlobalId.ShipGroupSeqId, true);
                innerState.Mutate(innerEvent);
            }
        }