コード例 #1
0
 /**
  * @param Request                      $request
  * @param UsuariosRepositorioInterface $medicosRepositorio
  * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
  */
 public function guardar(Request $request, UsuariosRepositorioInterface $medicosRepositorio)
 {
     $txtNombre = $request->get('txtNombre');
     $txtPaterno = $request->get('txtPaterno');
     $txtMaterno = $request->get('txtMaterno');
     $txtTelefono = $request->get('txtTelefono');
     $txtCelular = $request->get('txtCelular');
     $txtEmail = $request->get('txtEmail');
     $fecha = $request->get('fecha');
     $hora = $request->get('hora');
     $userMedico = base64_decode($request->get('medico'));
     // username del médico
     $opcion = $request->get('opcion');
     //insert or update
     $nuevoPaciente = $request->get('nuevoPaciente');
     $cita = new Cita();
     $medico = $medicosRepositorio->obtenerUsuarioPorUsername($userMedico);
     $paciente = PacientesFactory::crear($medico);
     $pacientesRepositorio = PacientesRepositorioFactory::crear($medico);
     $citaEstatus = new CitaEstatus(1);
     // setear valores al paciente
     $paciente->setNombre($txtNombre);
     $paciente->setPaterno($txtPaterno);
     $paciente->setMaterno($txtMaterno);
     $paciente->setTelefono($txtTelefono);
     $paciente->setCelular($txtCelular);
     $paciente->setEmail($txtEmail);
     $paciente->setNuevoPaciente(false);
     // si es nuevo paciente en sistema
     if ($nuevoPaciente === '1') {
         $paciente->setNuevoPaciente(true);
         // guardar paciente
         $pacientesRepositorio->persistir($paciente);
     } else {
         $paciente->setId(base64_decode($request->get('idPaciente')));
     }
     // setear valores de cita
     $cita->setFecha($fecha);
     $cita->setHora($hora);
     $cita->setMedico($medico);
     $cita->setEstatus($citaEstatus);
     $cita->setPaciente($paciente);
     // echo $opcion;exit;
     if ($opcion === '1') {
         // persistir cita
         if (!$this->citasRepositorio->persistir($cita)) {
             // error
             return response(0);
         }
         // exito!!
         return response(1);
     }
 }
コード例 #2
0
 /**
  * @param Request $request
  * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
  */
 public function agregarEditarExpediente(Request $request)
 {
     $idPaciente = (int) base64_decode($request->get('idPaciente'));
     $userMedico = base64_decode($request->get('userMedico'));
     $medico = $this->usuariosRepositorio->obtenerUsuarioPorUsername($userMedico);
     $pacientesRepositorio = PacientesRepositorioFactory::crear($medico);
     $paciente = $pacientesRepositorio->obtenerPacientePorId($idPaciente);
     $expediente = $this->expedientesRepositorio->obtenerExpedientePorPacienteMedico($paciente, $medico);
     // alimentar de Http Post
     PacientesFactory::alimentarDeHttp($request, $paciente, $medico);
     // persistir
     if (!$pacientesRepositorio->persistir($paciente)) {
         return response(0);
     }
     // generar expediente
     if (is_null($expediente)) {
         $expediente = new Expediente();
         $expediente->setMedico($medico);
         $expediente->setPaciente($paciente);
         $expediente->setPrimeraVez(true);
         $this->expedientesRepositorio->persistir($expediente);
     }
     // éxito
     return response(1);
 }