Esempio n. 1
0
 /**
  * generar nuevo tratamiento de ortopedia - ortodoncia
  * @param Request $request
  * @param ExpedientesRepositorioInterface $expedientesRepositorio
  * @param ITratamientoOrtopediaOrtodonciaRepositorio $tratamientosRepositorio
  * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
  */
 public function agregarTratamiento(Request $request, ExpedientesRepositorioInterface $expedientesRepositorio, ITratamientoOrtopediaOrtodonciaRepositorio $tratamientosRepositorio)
 {
     $ortopedia = $request->get('ortopedia') ? true : false;
     $ortodoncia = $request->get('ortodoncia') ? true : false;
     $idPaciente = (int) base64_decode($request->get('idPaciente'));
     $username = base64_decode($request->get('username'));
     $medico = $this->usuariosRepositorio->obtenerUsuarioPorUsername($username);
     $pacientesRepositorio = PacientesRepositorioFactory::crear($medico);
     $paciente = $pacientesRepositorio->obtenerPacientePorId($idPaciente);
     $expediente = $expedientesRepositorio->obtenerExpedientePorPacienteMedico($paciente, $medico);
     $tratamiento = new TratamientoOdontologia($request->get('dx'), $request->get('costo'), $request->get('duracion'), $request->get('mensualidades'));
     $tratamiento->generarTratamientos($ortopedia, $ortodoncia);
     if (!$tratamientosRepositorio->guardar($tratamiento, $expediente)) {
         return response('0');
     }
     return response('1');
 }