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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
 public TreatmentRoomIsEquippedWithMachineEvent(TreatmentMachineId treatmentMachineId)
 {
     TreatmentMachineId = treatmentMachineId;
 }
 public EquipTreatmentRoomWithMachineCommand(TreatmentRoomId aggregateId, TreatmentMachineId treatmentMachineId) : base(aggregateId)
 {
     TreatmentMachineId = treatmentMachineId;
 }