Пример #1
0
        public static List <Usuario> BuscarUsuarios(string busqueda)
        {
            string         nombre       = ObtenerNombre(busqueda);
            int            nletras      = nombre.Length;
            List <Usuario> List_Usuario = new List <Usuario>(); ConexionBBDD.Instanciar().AbrirConexion();

            for (int i = 0; i < nletras; i++)
            {
                string consulta             = string.Format("SELECT * FROM usuario WHERE Nombre_Usuario like '{0}%';", nombre);
                List <List <object> > lista = ConexionBBDD.Instanciar().Query(consulta);

                if (lista.Count > 0)
                {
                    foreach (List <object> l1 in lista)
                    {
                        List_Usuario.Add(new Usuario(l1));
                    }

                    break;
                }
                else
                {
                    nombre = nombre.Substring(0, nombre.Length - 2);
                }
            }
            ConexionBBDD.Instanciar().CerrarConexion();


            return(List_Usuario);
        }
Пример #2
0
        //Funcionalidad usada para insertar en la base de datos cuando se quiere seguir a un usuario
        public static bool Seguir(int id)
        {
            ConexionBBDD.Instanciar().AbrirConexion();
            string consulta = string.Format(
                "SELECT * FROM seguidores where ID_USUARIO='{0}' AND ID_SIGUIENDO='{1}'",
                UsuarioActual.id_usuario, id
                );

            List <List <object> > funciona = ConexionBBDD.Instanciar().Query(consulta);

            if (funciona == null)
            {
                return(false);
            }
            else
            {
                if (funciona.Count == 0)
                {
                    consulta = String.Format(
                        "INSERT INTO seguidores Values('{0}','{1}')", UsuarioActual.ID_Usuario, id
                        );
                    funciona = ConexionBBDD.Instanciar().Query(consulta);
                    return(true);
                }
                else
                {
                    consulta = String.Format(
                        "Delete from seguidores where ID_USUARIO='{0}' AND ID_SIGUIENDO='{1}'", UsuarioActual.ID_Usuario, id
                        );
                    funciona = ConexionBBDD.Instanciar().Query(consulta);
                    return(true);
                }
            }
        }
Пример #3
0
        public static bool LogIn(string nom, string passwd)
        {
            ConexionBBDD.Instanciar().AbrirConexion();

            string passhash = ConexionBBDD.EncriptarContraseña(passwd);
            string consulta = String.Format(
                "SELECT * FROM usuario WHERE nombre_usuario = '{0}' AND contraseña ='{1}'"
                , nom, passhash
                );

            var resultado = ConexionBBDD.Instanciar().Query(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();
            if (resultado != null)
            {
                if (resultado.Count == 0)
                {
                    return(false);
                }
                else
                {
                    Usuario usuario = new Usuario(resultado[0]);
                    usuarioActual = usuario;

                    return(true);
                }
            }
            else
            {
                return(false);
            }
        }
Пример #4
0
        private void BtEnviar_Click(object sender, EventArgs e)
        {
            if (Usuario.UsuarioActual != null)
            {
                Receta receta = new Receta()
                {
                    IdUsuario    = Usuario.UsuarioActual.ID_Usuario,
                    Foto         = picFoto.Image,
                    Indredientes = Buscador.ObtenerIngredientes(txtIngredientes.Text),
                    Pasos        = txtPasos.Text,
                    Tags         = tgsTags.Tag,
                    Nombre       = txtNombreReceta.Text,
                };

                ConexionBBDD.Instanciar().AbrirConexion();
                bool valido = Receta.CrearReceta(receta);
                ConexionBBDD.Instanciar().CerrarConexion();

                if (valido)
                {
                    parent.GoHome();
                }
                else
                {
                    MessageBox.Show(ConexionBBDD.Instanciar().LastError);
                }
            }
        }
Пример #5
0
 /// <summary>
 /// Metodo instanciador de clase siguiendo el patrion singleton
 /// </summary>
 /// <returns>Devuelve la unica instancia de la clase</returns>
 public static ConexionBBDD Instanciar()
 {
     if (instancia == null)
     {
         instancia = new ConexionBBDD();
     }
     return(instancia);
 }
Пример #6
0
        public static List <Receta> BuscarRecetas(string busqueda)
        {
            List <Receta> listReceta = new List <Receta>();

            ConexionBBDD.Instanciar().AbrirConexion();

            string nombre  = ObtenerNombre(busqueda);
            int    nletras = nombre.Length;

            for (int i = 0; i < nletras; i++)
            {
                string consulta             = string.Format("SELECT * FROM recetas WHERE Nombre_Receta like '{0}%';", nombre);
                List <List <object> > lista = ConexionBBDD.Instanciar().Query(consulta);

                if (lista.Count > 0)
                {
                    foreach (List <object> l1 in lista)
                    {
                        listReceta.Add(new Receta(l1));
                    }
                    break;
                }
                else
                {
                    nombre = nombre.Substring(0, nombre.Length - 2);
                }
            }

            ConexionBBDD.Instanciar().CerrarConexion();

            if (listReceta.Count == 0)
            {
                listReceta = Receta.GetRecetas();
            }

            List <string> ingredientes = ObtenerIngredientes(busqueda);
            List <string> tags         = ObtenerTags(busqueda);
            List <Receta> tmp          = new List <Receta>();

            foreach (var ing in ingredientes)
            {
                tmp.AddRange(listReceta.Where((Receta rec) => rec.Indredientes.Find(x => x == ing) != null));
            }

            foreach (var t in tags)
            {
                tmp.AddRange(listReceta.Where((Receta rec) => rec.Tags.Find(x => x == t) != null));
            }

            if (tmp.Count > 0)
            {
                listReceta = tmp;
            }

            return(listReceta);
        }
Пример #7
0
        private void btSeguir_Click(object sender, EventArgs e)
        {
            if (!Usuario.Seguir(u.ID_Usuario))
            {
                MessageBox.Show(ConexionBBDD.Instanciar().LastError);
            }
            ConexionBBDD.Instanciar().CerrarConexion();

            parent.GoUsuario(Usuario.GetUsuario(u.ID_Usuario));
        }
Пример #8
0
 public Receta(List <object> listaReceta)
 {
     idReceta     = (int)listaReceta[0];
     IdUsuario    = (int)listaReceta[1];
     nombre       = (string)listaReceta[2];
     pasos        = (string)listaReceta[3];
     ingredientes = Buscador.ObtenerIngredientes((string)listaReceta[4]);
     foto         = ConexionBBDD.FromByteToImage((byte[])listaReceta[5]);
     tags         = Buscador.ObtenerTags((string)listaReceta[6]);
 }
Пример #9
0
        public Usuario(List <object> listaUsuario)
        {
            id_usuario = (int)listaUsuario[0];
            nombre     = (string)listaUsuario[1];

            descripcion = (string)listaUsuario[2];

            correo        = (string)listaUsuario[3];
            contraseña    = (string)listaUsuario[4];
            numRecetas    = (int)listaUsuario[5];
            numSeguidores = (int)listaUsuario[6];
            foto          = ConexionBBDD.FromByteToImage((byte[])listaUsuario[7]);
        }
Пример #10
0
        public static Receta GetReceta(int id)
        {
            ConexionBBDD.Instanciar().AbrirConexion();

            string consulta             = string.Format("select * from recetas where ID_Receta={0}", id);
            List <List <object> > lista = ConexionBBDD.Instanciar().Query(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (lista == null)
            {
                return(null);
            }
            return(new Receta(lista[0]));
        }
Пример #11
0
        public static List <Usuario> GetSeguidores(int id)
        {
            ConexionBBDD.Instanciar().AbrirConexion();

            List <Usuario>        list_usuario = new List <Usuario>();
            string                consulta     = string.Format("SELECT usuario.* from seguidores inner join usuario on seguidores.ID_USUARIO = usuario.ID_Usuario where seguidores.ID_SIGUIENDO ={0}", id);
            List <List <object> > lista        = ConexionBBDD.Instanciar().Query(consulta);

            foreach (List <object> l1 in lista)
            {
                list_usuario.Add(new Usuario(l1));
            }

            ConexionBBDD.Instanciar().CerrarConexion();
            return(list_usuario);
        }
Пример #12
0
        //Funcionalidad para insertar un usuario en la base de datos;
        public static bool RegistrarUsuario(Usuario u)
        {
            ConexionBBDD.Instanciar().AbrirConexion();

            string passhash = ConexionBBDD.EncriptarContraseña(u.Contraseña);
            string consulta = String.Format(
                "INSERT INTO usuario(Nombre_Usuario, Correo, Contraseña, N_Receta, N_Seguidor, Foto, descripcion) " +
                "VALUES('{0}','{1}','{2}',0,0, @foto,'')", u.Nombre, u.Correo, passhash
                );

            bool funciona = ConexionBBDD.Instanciar().NonQuery(consulta, u.foto);

            ConexionBBDD.Instanciar().CerrarConexion();

            return(funciona);
        }
Пример #13
0
        //Obtiene un usuario con un id
        public static Usuario GetUsuario(int id)
        {
            ConexionBBDD.Instanciar().AbrirConexion();

            List <Usuario>        List_Usuario = new List <Usuario>();
            string                consulta     = string.Format("select * from usuario where ID_Usuario={0}", id);
            List <List <object> > lista        = ConexionBBDD.Instanciar().Query(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (lista == null)
            {
                return(null);
            }
            return(new Usuario(lista[0]));
        }
Пример #14
0
        public static bool BorrarReceta(int id)
        {
            string consulta = string.Format("Delete from recetas where ID_Receta={0}", id);

            ConexionBBDD.Instanciar().AbrirConexion();
            bool result = ConexionBBDD.Instanciar().NonQuery(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (result)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #15
0
        public static bool BorrarReto(int id)
        {
            string consulta = string.Format("Delete from reto where ID_Reto={0}", id);

            ConexionBBDD.Instanciar().AbrirConexion();
            bool result = ConexionBBDD.Instanciar().NonQuery(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (result)
            {
                return(true);
            }

            string error = ConexionBBDD.Instanciar().LastError;

            return(false);
        }
Пример #16
0
 private void btIniciar_Click(object sender, EventArgs e)
 {
     if (Usuario.LogIn(txtNombre.Text, txtContra.Text))
     {
         parent.GoHome();
     }
     else
     {
         var error = ConexionBBDD.Instanciar().LastError;
         if (error == "Sin errrores")
         {
             MessageBox.Show("Has puesto mal el usuario o la cntraseña");
         }
         else
         {
             MessageBox.Show(error);
         }
     }
 }
Пример #17
0
        public static bool CrearReceta(Receta recet)
        {
            string consulta = string.Format(
                "insert into recetas values (null,{0},'{1}','{2}','{3}', @foto,'{4}')",
                recet.IdUsuario, recet.Nombre, recet.pasos, Buscador.ObtenerIngredientes(recet.ingredientes), Buscador.ObtenerTags(recet.tags)
                );

            ConexionBBDD.Instanciar().AbrirConexion();
            bool result = ConexionBBDD.Instanciar().NonQuery(consulta, recet.foto);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (result)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #18
0
        public static bool CrearReto(Reto ret)
        {
            string consulta = string.Format(
                "insert into reto values(null,'{0}','{1}','{2}','{3}','{4}')",
                ret.id_usuario, ret.nombre, ret.descripcion, ret.fecha_inicial, ret.fecha_final
                );

            ConexionBBDD.Instanciar().AbrirConexion();
            bool result = ConexionBBDD.Instanciar().NonQuery(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (result)
            {
                return(true);
            }

            string error = ConexionBBDD.Instanciar().LastError;

            return(false);
        }
Пример #19
0
        public static List <Receta> GetRecetas()
        {
            ConexionBBDD.Instanciar().AbrirConexion();

            List <Receta>         List_Receta = new List <Receta>();
            string                consulta    = string.Format("select * from recetas");
            List <List <object> > lista       = ConexionBBDD.Instanciar().Query(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (lista == null)
            {
                return(null);
            }

            foreach (List <object> l1 in lista)
            {
                List_Receta.Add(new Receta(l1));
            }

            return(List_Receta);
        }
Пример #20
0
        //Obtener todos los usuarios
        public static List <Usuario> GetUsuarios()
        {
            ConexionBBDD.Instanciar().AbrirConexion();

            List <Usuario>        List_Usuario = new List <Usuario>();
            string                consulta     = string.Format("select * from usuario");
            List <List <object> > lista        = ConexionBBDD.Instanciar().Query(consulta);

            ConexionBBDD.Instanciar().CerrarConexion();

            if (lista == null)
            {
                return(null);
            }

            foreach (List <object> l1 in lista)
            {
                List_Usuario.Add(new Usuario(l1));
            }

            return(List_Usuario);
        }
Пример #21
0
        //Obtiene una lista de los retos del usuario seleccionado
        static List <Reto> GetRetos(int user)
        {
            List <Reto> List_Reto = new List <Reto>();

            ConexionBBDD.Instanciar().AbrirConexion();

            string consulta             = string.Format("select * from retos where ID_Usuario_P={0}", user);
            List <List <object> > lista = ConexionBBDD.Instanciar().Query(consulta);

            ConexionBBDD.Instanciar().AbrirConexion();

            if (lista == null)
            {
                return(null);
            }

            foreach (List <object> l1 in lista)
            {
                List_Reto.Add(new Reto(l1));
            }

            return(List_Reto);
        }
Пример #22
0
        public static void ModificarUsuario(int i, int id, string desc, string passwd, Image foto)
        {
            ConexionBBDD.Instanciar().AbrirConexion();
            string consulta;

            if (i == 1)
            {
                string pas = ConexionBBDD.EncriptarContraseña(passwd);
                consulta = String.Format(
                    "UPDATE usuario SET descripcion='{0}', Contraseña = '{1}',Foto = @foto WHERE ID_Usuario={2}", desc, pas, id
                    );
            }
            else
            {
                consulta = String.Format(
                    "UPDATE usuario SET descripcion='{0}', Foto = @foto WHERE ID_Usuario={1}", desc, id
                    );
            }


            bool funciona = ConexionBBDD.Instanciar().NonQuery(consulta, foto);

            ConexionBBDD.Instanciar().CerrarConexion();
        }