/** * @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); } }
/** * @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); }