示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
        }
示例#5
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);
        }