public Task <bool> Handle(ReserveTreatmentRoomCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(false));
            }

            var existingTreatmentRoom = _treatmentRoomRepository.GetById(request.Id);
            var treatmentRoom         = new TreatmentRoom(existingTreatmentRoom.Id, request.TreatmentMachineId,
                                                          existingTreatmentRoom.Name);

            _treatmentRoomRepository.Update(treatmentRoom);

            if (Commit())
            {
                _mediator.RaiseEvent(new TreatmentRoomReservedEvent(existingTreatmentRoom.Id, request.ReservationDay, existingTreatmentRoom.TreatmentMachineId));
            }

            return(Task.FromResult(true));
        }
        private void PublishReserveTreatmentroomCommand(TreatmentRoomId treatmentRoomId, DateTime reservationDay)
        {
            var command = new ReserveTreatmentRoomCommand(treatmentRoomId, reservationDay, Id.Value);

            this.Publish(command);
        }