public void EquipWithTreatmentMachine(TreatmentMachineId treatmentMachineId) { Specs.AggregateIsCreated.ThrowDomainErrorIfNotSatisfied(this); //TODO: If room is already equipped with a machine then raise UnEquippedRoomWithAMachineEvent(..) Emit(new TreatmentRoomIsEquippedWithMachineEvent(treatmentMachineId)); }
public TreatmentRoomModel AddTreatmentRoom(string name, string treatmentMachineName) { var treatmentRoomModel = AddTreatmentRoom(name); var treamentMachineModel = Query(TreatmentMachineQueriesFactory.GetMachineByName(treatmentMachineName)); var treatmentMachineId = new TreatmentMachineId(treamentMachineModel.Id); var command = new EquipTreatmentRoomWithMachineCommand(treatmentRoomModel.Id, treatmentMachineId); this.Publish(command); return(new TreatmentRoomModel(command.AggregateId, this)); }
public TreatmentRoomIsEquippedWithMachineEvent(TreatmentMachineId treatmentMachineId) { TreatmentMachineId = treatmentMachineId; }
public EquipTreatmentRoomWithMachineCommand(TreatmentRoomId aggregateId, TreatmentMachineId treatmentMachineId) : base(aggregateId) { TreatmentMachineId = treatmentMachineId; }