Пример #1
0
        public virtual void Initialize(IOrderStateCreated stateCreated)
        {
            var aggregateId = stateCreated.OrderEventId.OrderId;
            var state       = new OrderState();

            state.OrderId = aggregateId;
            var aggregate = (OrderAggregate)GetOrderAggregate(state);

            var eventStoreAggregateId = ToEventStoreAggregateId(aggregateId);

            aggregate.Apply(stateCreated);
            Persist(eventStoreAggregateId, aggregate, state);
        }
Пример #2
0
        public virtual IOrderState ToOrderState()
        {
            var state = new OrderState(true);

            state.OrderId                 = this.OrderId;
            state.OrderTypeId             = this.OrderTypeId;
            state.OrderName               = this.OrderName;
            state.ExternalId              = this.ExternalId;
            state.SalesChannelEnumId      = this.SalesChannelEnumId;
            state.OrderDate               = this.OrderDate;
            state.Priority                = this.Priority;
            state.EntryDate               = this.EntryDate;
            state.PickSheetPrintedDate    = this.PickSheetPrintedDate;
            state.StatusId                = this.StatusId;
            state.CurrencyUomId           = this.CurrencyUomId;
            state.SyncStatusId            = this.SyncStatusId;
            state.BillingAccountId        = this.BillingAccountId;
            state.OriginFacilityId        = this.OriginFacilityId;
            state.WebSiteId               = this.WebSiteId;
            state.ProductStoreId          = this.ProductStoreId;
            state.TerminalId              = this.TerminalId;
            state.TransactionId           = this.TransactionId;
            state.AutoOrderShoppingListId = this.AutoOrderShoppingListId;
            state.NeedsInventoryIssuance  = this.NeedsInventoryIssuance;
            state.IsRushOrder             = this.IsRushOrder;
            state.InternalCode            = this.InternalCode;
            state.RemainingSubTotal       = this.RemainingSubTotal;
            state.GrandTotal              = this.GrandTotal;
            state.InvoicePerShipment      = this.InvoicePerShipment;
            if (this.Active != null && this.Active.HasValue)
            {
                state.Active = this.Active.Value;
            }
            if (this.Version != null && this.Version.HasValue)
            {
                state.Version = this.Version.Value;
            }
            state.CreatedBy = this.CreatedBy;
            if (this.CreatedAt != null && this.CreatedAt.HasValue)
            {
                state.CreatedAt = this.CreatedAt.Value;
            }
            state.UpdatedBy = this.UpdatedBy;
            if (this.UpdatedAt != null && this.UpdatedAt.HasValue)
            {
                state.UpdatedAt = this.UpdatedAt.Value;
            }
            if (this.OrderRoles != null)
            {
                foreach (var s in this.OrderRoles)
                {
                    state.OrderRoles.AddToSave(s.ToOrderRoleState());
                }
            }
            ;
            if (this.OrderItems != null)
            {
                foreach (var s in this.OrderItems)
                {
                    state.OrderItems.AddToSave(s.ToOrderItemState());
                }
            }
            ;
            if (this.OrderShipGroups != null)
            {
                foreach (var s in this.OrderShipGroups)
                {
                    state.OrderShipGroups.AddToSave(s.ToOrderShipGroupState());
                }
            }
            ;

            return(state);
        }
Пример #3
0
 public static CreateOrder ToCreateOrder(this OrderState state)
 {
     return(state.ToCreateOrder <CreateOrder, CreateOrderRole, CreateOrderItem, CreateOrderShipGroup, CreateOrderItemShipGroupAssociation>());
 }
Пример #4
0
 public static MergePatchOrder ToMergePatchOrder(this OrderState state)
 {
     return(state.ToMergePatchOrder <MergePatchOrder, CreateOrderRole, MergePatchOrderRole, CreateOrderItem, MergePatchOrderItem, CreateOrderShipGroup, MergePatchOrderShipGroup, CreateOrderItemShipGroupAssociation, MergePatchOrderItemShipGroupAssociation>());
 }
Пример #5
0
 public static DeleteOrder ToDeleteOrder(this OrderState state)
 {
     return(state.ToDeleteOrder <DeleteOrder>());
 }
Пример #6
0
 public static IOrderCommand ToCreateOrMergePatchOrder(this OrderState state)
 {
     return(state.ToCreateOrMergePatchOrder <CreateOrder, MergePatchOrder, CreateOrderRole, MergePatchOrderRole, CreateOrderItem, MergePatchOrderItem, CreateOrderShipGroup, MergePatchOrderShipGroup, CreateOrderItemShipGroupAssociation, MergePatchOrderItemShipGroupAssociation>());
 }