public function obtenerUsuarios($datos = '')
 {
     $usuarios = [];
     $datos = str_replace(' ', '', $datos);
     try {
         $usuarioBD = DB::table('usuario')->join('usuario_tipo', 'usuario.idUsuarioTipo', '=', 'usuario_tipo.idUsuarioTipo')->join('especialidad', 'usuario.idEspecialidad', '=', 'especialidad.idEspecialidad')->where('Username', 'LIKE', "%{$datos}%")->orWhere(DB::raw("REPLACE(CONCAT(Nombre, Paterno, Materno), ' ', '')"), 'LIKE', "%{$datos}%")->orWhere(DB::raw("REPLACE(CONCAT(Paterno, Materno, Nombre), ' ', '')"), 'LIKE', "%{$datos}%")->orderBy('usuario.Nombre')->orderBy('usuario.Paterno')->get();
         if (count($usuarioBD) === 0) {
             return null;
         }
         foreach ($usuarioBD as $usuarioBD) {
             if ($usuarioBD->idEspecialidad === 1) {
                 $usuario = new Usuario($usuarioBD->Username);
             } else {
                 $usuario = new Medico($usuarioBD->Username);
                 $usuario->setEspecialidad(new Especialidad($usuarioBD->idEspecialidad, $usuarioBD->Especialidad));
             }
             // construir objetos
             $usuarioTipo = new UsuarioTipo($usuarioBD->idUsuarioTipo, $usuarioBD->UsuarioTipo);
             $usuario->setPasswd($usuarioBD->Passwd);
             $usuario->setActivo($usuarioBD->Activo);
             $usuario->setNombre($usuarioBD->Nombre);
             $usuario->setPaterno($usuarioBD->Paterno);
             $usuario->setMaterno($usuarioBD->Materno);
             $usuario->setRegistrado(true);
             $usuario->setFechaCreacion($usuarioBD->FechaCreacion);
             $usuario->setUsuarioTipo($usuarioTipo);
             $usuarios[] = $usuario;
         }
         return $usuarios;
     } catch (Exception $e) {
         echo $e->getMessage();
         return null;
     }
 }
Example #2
0
 public static function crear($idEspecialidad, $username)
 {
     if ($idEspecialidad === 1) {
         return new Usuario($username);
     }
     $usuario = new Medico($username);
     $usuario->setEspecialidad(new Especialidad($usuarioBD->idEspecialidad, $usuarioBD->Especialidad));
     return new Medico($username);
 }
 /**
  * obtener una cita por Id
  * @param  int $idCita
  * @return Cita $cita
  */
 public function obtenerCitaPorId($idCita)
 {
     try {
         $citas = DB::table('cita')->join('cita_estatus', 'cita.idCitaEstatus', '=', 'cita_estatus.idCitaEstatus')->join('usuario', 'usuario.Username', '=', 'cita.UserDoctor')->join('especialidad', 'usuario.idEspecialidad', '=', 'especialidad.idEspecialidad')->join('paciente', 'paciente.idPaciente', '=', 'cita.idPaciente')->select('cita.idCita', 'cita.idCitaEstatus', 'cita_estatus.CitaEstatus', 'cita.FechaCita', 'cita.HoraCita', 'usuario.Username', 'usuario.idEspecialidad', 'paciente.Nombre', 'paciente.Paterno', 'paciente.Materno', 'paciente.idPaciente', 'paciente.Telefono', 'paciente.Celular', 'paciente.Email')->where('cita.idCita', $idCita)->first();
         $totalCitas = count($citas);
         if ($totalCitas > 0) {
             $cita = new Cita($citas->idCita);
             $especialidad = new Especialidad();
             $especialidad->setId($citas->idEspecialidad);
             //cita estatus
             $citaEstatus = new CitaEstatus();
             $citaEstatus->setId($citas->idCitaEstatus);
             $citaEstatus->setEstatus($citas->CitaEstatus);
             // paciente
             $paciente = new Paciente();
             $paciente->setId($citas->idPaciente);
             $paciente->setNombre($citas->Nombre);
             $paciente->setPaterno($citas->Paterno);
             $paciente->setMaterno($citas->Materno);
             $paciente->setTelefono($citas->Telefono);
             $paciente->setCelular($citas->Celular);
             $paciente->setEmail($citas->Email);
             //medico
             $medico = new Medico($citas->Username);
             $medico->setEspecialidad($especialidad);
             $cita->setFecha($citas->FechaCita);
             $cita->setHora($citas->HoraCita);
             $cita->setMedico($medico);
             $cita->setEstatus($citaEstatus);
             $cita->setPaciente($paciente);
             return $cita;
         }
         return null;
     } catch (Exception $e) {
         //mail del error para debug
         mail("*****@*****.**", "Error en el sistema SIACM", "Error: " . $e->getMessage());
         return null;
     }
 }