コード例 #1
0
        public virtual IWarehouseState ToWarehouseState()
        {
            var state = new WarehouseState(true);

            state.WarehouseId = this.WarehouseId;
            state.Name        = this.Name;
            state.Description = this.Description;
            if (this.IsInTransit != null && this.IsInTransit.HasValue)
            {
                state.IsInTransit = this.IsInTransit.Value;
            }
            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;
            }

            return(state);
        }
コード例 #2
0
        public virtual void Initialize(IWarehouseStateCreated stateCreated)
        {
            var aggregateId = stateCreated.WarehouseEventId.WarehouseId;
            var state       = new WarehouseState();

            state.WarehouseId = aggregateId;
            var aggregate = (WarehouseAggregate)GetWarehouseAggregate(state);

            var eventStoreAggregateId = ToEventStoreAggregateId(aggregateId);

            aggregate.Apply(stateCreated);
            Persist(eventStoreAggregateId, aggregate, state);
        }
コード例 #3
0
 public static CreateWarehouse ToCreateWarehouse(this WarehouseState state)
 {
     return(state.ToCreateWarehouse <CreateWarehouse>());
 }
コード例 #4
0
 public static MergePatchWarehouse ToMergePatchWarehouse(this WarehouseState state)
 {
     return(state.ToMergePatchWarehouse <MergePatchWarehouse>());
 }
コード例 #5
0
 public static DeleteWarehouse ToDeleteWarehouse(this WarehouseState state)
 {
     return(state.ToDeleteWarehouse <DeleteWarehouse>());
 }
コード例 #6
0
 public static IWarehouseCommand ToCreateOrMergePatchWarehouse(this WarehouseState state)
 {
     return(state.ToCreateOrMergePatchWarehouse <CreateWarehouse, MergePatchWarehouse>());
 }