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); }
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); }
public static CreateWarehouse ToCreateWarehouse(this WarehouseState state) { return(state.ToCreateWarehouse <CreateWarehouse>()); }
public static MergePatchWarehouse ToMergePatchWarehouse(this WarehouseState state) { return(state.ToMergePatchWarehouse <MergePatchWarehouse>()); }
public static DeleteWarehouse ToDeleteWarehouse(this WarehouseState state) { return(state.ToDeleteWarehouse <DeleteWarehouse>()); }
public static IWarehouseCommand ToCreateOrMergePatchWarehouse(this WarehouseState state) { return(state.ToCreateOrMergePatchWarehouse <CreateWarehouse, MergePatchWarehouse>()); }