/// <summary> /// Regresa el objeto persona asociado con el nombre mandado como parámetro /// <param name="nombre">El nombre a aproximar</param> /// <param name="ignorarUsuarios">verdadero si queremos ignorar personas que ya hayan /// sido asignados un usuario</param> /// </summary> public static Persona obtenerPersonaConNombre(string nombre, bool ignorarUsuarios = false) { if (String.IsNullOrEmpty(nombre)) { return(null); } Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append("select * from persona where search = "); query.Append(Cadenas.comillas(Cadenas.quitaEspeciales(nombre))); if (ignorarUsuarios) { query.Append(" and LEFT(usuario, 1) = '_' "); } if (db.EjecutarQuery(query.ToString()).error) { return(null); } DataTable table = db.getTable(); if (table.Rows.Count == 0) { return(null); } Persona p = new Persona(); p.llenarDatos(table.Rows[0]); return(p); }
/// <summary> /// Regresa el objeto persona asociado con el nombre de usuario mandado como parámetro /// </summary> public static Persona obtenerPersonaDeUsuario(string usuario) { if (String.IsNullOrEmpty(usuario)) { return(null); } Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append("select * from persona where usuario = "); query.Append(Cadenas.comillas(usuario.ToLower())); if (db.EjecutarQuery(query.ToString()).error) { return(null); } DataTable table = db.getTable(); if (table.Rows.Count != 1) { return(null); } Persona p = new Persona(); p.llenarDatos(table.Rows[0]); return(p); }
/// <summary> /// Busca una persona con el correo mandado como parámetro /// </summary> /// <param name="correo">El correode la persona deseada</param> /// <param name="ignorarUsuarios">verdadero cuando no queremos recibir resultados de /// personas que ya tienen asignado un usuario</param> /// <returns></returns> public static Persona obtenerPersonaConCorreo(string correo, bool ignorarUsuarios = false) { if (correo == null) { return(null); } correo = correo.Trim().ToLower(); if (correo.Length == 0) { return(null); } Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append("select * from persona where correo = "); query.Append(Cadenas.comillas(correo)); if (ignorarUsuarios) { query.Append(" and LEFT(usuario, 1) = '_' "); } if (db.EjecutarQuery(query.ToString()).error) { return(null); } DataTable table = db.getTable(); if (table.Rows.Count == 0) { return(null); } Persona p = new Persona(); p.llenarDatos(table.Rows[0]); return(p); }
/// <summary> /// Busca personas con el nombre mandado como parámetro /// </summary> /// <param name="nombre">El nombre a buscar</param> /// <returns>La lista de resultados</returns> public static List <SearchResult> buscar(string nombre) { List <SearchResult> resultados = new List <SearchResult>(); if (String.IsNullOrEmpty(nombre)) { return(resultados); } Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append("select * from persona where search like "); query.Append(Cadenas.comillas("%" + Cadenas.quitaEspeciales(nombre) + "%")); query.Append(" and oculta = 0 "); query.Append(" order by search asc"); db.EjecutarQuery(query.ToString()); DataTable table = db.getTable(); if (table.Rows.Count == 0) { return(resultados); } foreach (DataRow r in table.Rows) { Persona p = new Persona(); p.llenarDatos(r, completo: false); SearchResult sr = new SearchResult(p); resultados.Add(sr); } return(resultados); }