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); }