예제 #1
0
        public virtual void Initialize(IPicklistBinStateCreated stateCreated)
        {
            var aggregateId = stateCreated.PicklistBinEventId.PicklistBinId;
            var state       = new PicklistBinState();

            state.PicklistBinId = aggregateId;
            var aggregate = (PicklistBinAggregate)GetPicklistBinAggregate(state);

            var eventStoreAggregateId = ToEventStoreAggregateId(aggregateId);

            aggregate.Apply(stateCreated);
            Persist(eventStoreAggregateId, aggregate, state);
        }
예제 #2
0
        public virtual IPicklistBinState ToPicklistBinState()
        {
            var state = new PicklistBinState(true);

            state.PicklistBinId         = this.PicklistBinId;
            state.PicklistId            = this.PicklistId;
            state.BinLocationNumber     = this.BinLocationNumber;
            state.PrimaryOrderId        = this.PrimaryOrderId;
            state.PrimaryShipGroupSeqId = this.PrimaryShipGroupSeqId;
            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.PicklistItems != null)
            {
                foreach (var s in this.PicklistItems)
                {
                    state.PicklistItems.AddToSave(s.ToPicklistItemState());
                }
            }
            ;

            return(state);
        }
예제 #3
0
 public static CreatePicklistBin ToCreatePicklistBin(this PicklistBinState state)
 {
     return(state.ToCreatePicklistBin <CreatePicklistBin, CreatePicklistItem>());
 }
예제 #4
0
 public static MergePatchPicklistBin ToMergePatchPicklistBin(this PicklistBinState state)
 {
     return(state.ToMergePatchPicklistBin <MergePatchPicklistBin, CreatePicklistItem, MergePatchPicklistItem>());
 }
예제 #5
0
 public static DeletePicklistBin ToDeletePicklistBin(this PicklistBinState state)
 {
     return(state.ToDeletePicklistBin <DeletePicklistBin>());
 }
예제 #6
0
 public static IPicklistBinCommand ToCreateOrMergePatchPicklistBin(this PicklistBinState state)
 {
     return(state.ToCreateOrMergePatchPicklistBin <CreatePicklistBin, MergePatchPicklistBin, CreatePicklistItem, MergePatchPicklistItem>());
 }