/// <summary> /// Obtiene las primeras 30 peticiones de la base de datos /// </summary> public static List <Peticion> obtenerPeticiones() { List <Peticion> lista = new List <Peticion>(); Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append(" select top 30 * from peticion "); query.Append(" order by tipo, subtipo, usuario "); if (db.EjecutarQuery(query.ToString()).error) { return(lista); } DataTable table = db.getTable(); foreach (DataRow r in table.Rows) { Peticion p = new Peticion(); p.llenarDatos(r, true); lista.Add(p); } return(lista); }
/// <summary> /// Obtiene la peticion de la base de datos con la clave mandada como parametro /// </summary> public static Peticion obtenerPeticionConClave(int clave) { Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append(" select * from peticion where clave = "); query.Append(clave); if (db.EjecutarQuery(query.ToString()).error) { return(null); } DataTable table = db.getTable(); if (table.Rows.Count != 1) { return(null); } Peticion p = new Peticion(); p.llenarDatos(table.Rows[0], true); return(p); }
/// <summary> /// Obtiene las peticiones del usuario mandado como parametro /// </summary> public static List <Peticion> obtenerPeticionesDeUsuario(Persona usuario) { if (usuario == null) { return(null); } List <Peticion> lista = new List <Peticion>(); Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append(" select * from peticion where usuario = "); query.Append(usuario.clave); query.Append(" order by tipo, subtipo "); if (db.EjecutarQuery(query.ToString()).error) { return(lista); } DataTable table = db.getTable(); foreach (DataRow r in table.Rows) { Peticion p = new Peticion(); p.llenarDatos(r); p.usuario = usuario; lista.Add(p); } return(lista); }
/// <summary> /// Regresa si el usuario tiene peticiones que él mismo puede ver /// </summary> /// <returns></returns> public bool tienePeticiones() { List <Peticion> peticiones = Peticion.obtenerPeticionesDeUsuario(this); return(peticiones.Count > 0); }
/// <summary> /// Guarda los datos en la base de datos /// </summary> /// <param name="generarPeticiones">Si nombre y foto deben de guardarse /// directamente en la base de datos o si se deben generar peticiones</param> /// <param name="currentValues">El valor actual de los datos</param> /// <param name="lugarGuardado">El lugar de donde viene el guardado de datos</param> /// <returns>Si el update se ejecutó correctamente</returns> public bool guardarDatos(bool generarPeticiones = false, Persona currentValues = null, LugarGuardado lugarGuardado = LugarGuardado.PROFILE) { Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append(" update persona set "); if (generarPeticiones && nombreCompleto != currentValues.nombreCompleto) { if (nombre != currentValues.nombre) { Peticion pet = new Peticion(); pet.tipo = Peticion.TipoPeticion.USUARIO; pet.subtipo = Peticion.TipoPeticion.NOMBRE; pet.usuario = this; pet.datos1 = nombre; pet.guardarPeticion(); } if (apellidoPaterno != currentValues.apellidoPaterno) { Peticion pet = new Peticion(); pet.tipo = Peticion.TipoPeticion.USUARIO; pet.subtipo = Peticion.TipoPeticion.APELLIDOPATERNO; pet.usuario = this; pet.datos1 = apellidoPaterno; pet.guardarPeticion(); } if (apellidoMaterno != currentValues.apellidoMaterno) { Peticion pet = new Peticion(); pet.tipo = Peticion.TipoPeticion.USUARIO; pet.subtipo = Peticion.TipoPeticion.APELLIDOMATERNO; pet.usuario = this; pet.datos1 = apellidoMaterno; pet.guardarPeticion(); } } else { query.Append(" nombre = "); query.Append(Cadenas.comillas(Cadenas.quitaEspacioDoble(nombre))); query.Append(","); query.Append(" apellidoP = "); query.Append(Cadenas.comillas(Cadenas.quitaEspacioDoble(apellidoPaterno))); query.Append(","); query.Append(" apellidoM = "); query.Append(Cadenas.comillas(Cadenas.quitaEspacioDoble(apellidoMaterno))); query.Append(","); query.Append(" search = "); query.Append(Cadenas.comillas(Cadenas.quitaEspeciales(nombre + " " + apellidoPaterno + " " + apellidoMaterno))); query.Append(","); } if (lugarGuardado == LugarGuardado.PROFILE) { query.Append(" facebook = "); query.Append(Cadenas.comillas(facebook)); query.Append(","); query.Append(" twitter = "); query.Append(Cadenas.comillas(twitter)); query.Append(","); query.Append(" sitio = "); query.Append(Cadenas.comillas(sitio)); query.Append(","); query.Append(" usuario = "); query.Append(Cadenas.comillas(usuario)); query.Append(","); query.Append(" permisos = "); query.Append((int)permisos); query.Append(","); query.Append(" codeforces = "); query.Append(Cadenas.comillas(codeforces)); query.Append(","); query.Append(" topcoder = "); query.Append(Cadenas.comillas(topcoder)); query.Append(","); query.Append(" ioiID = "); query.Append(ioiID); query.Append(","); } query.Append(" genero = "); query.Append(Cadenas.comillas(genero)); query.Append(","); query.Append(" omegaup = "); query.Append(Cadenas.comillas(omegaup)); query.Append(","); query.Append(" omips = "); query.Append(omips ? 1 : 0); query.Append(","); query.Append(" oculta = "); query.Append(oculta ? 1 : 0); query.Append(","); if (lugarGuardado == LugarGuardado.REGISTRO) { query.Append(" celular = "); query.Append(Cadenas.comillas(celular)); query.Append(","); query.Append(" telefono = "); query.Append(Cadenas.comillas(telefono)); query.Append(","); query.Append(" direccion = "); query.Append(Cadenas.comillas(direccion)); query.Append(","); query.Append(" emergencia = "); query.Append(Cadenas.comillas(emergencia)); query.Append(","); query.Append(" parentesco = "); query.Append(Cadenas.comillas(parentesco)); query.Append(","); query.Append(" telemergencia = "); query.Append(Cadenas.comillas(telEmergencia)); query.Append(","); query.Append(" medicina = "); query.Append(Cadenas.comillas(medicina)); query.Append(","); query.Append(" alergias = "); query.Append(Cadenas.comillas(alergias)); query.Append(","); } if (!String.IsNullOrEmpty(foto)) { if (generarPeticiones) { Peticion pet = new Peticion(); pet.tipo = Peticion.TipoPeticion.USUARIO; pet.subtipo = Peticion.TipoPeticion.FOTO; pet.usuario = this; pet.datos1 = foto; pet.guardarPeticion(); } else { query.Append(" foto = "); query.Append(Cadenas.comillas(foto)); query.Append(","); } } query.Append(" correo = "); query.Append(Cadenas.comillas(correo)); query.Append(","); query.Append(" nacimiento = "); query.Append(Cadenas.comillas(Fechas.dateToString(nacimiento))); query.Append(" where clave = "); query.Append(clave); return(!db.EjecutarQuery(query.ToString()).error); }