예제 #1
0
        private void RellenarRecetas(List <Receta> rec)
        {
            Random     rnd    = new Random();
            int        i      = rec.Count;
            List <int> usados = new List <int>();

            foreach (Control con in tableLayoutPanel4.Controls)
            {
                if (con.GetType() == accesoURRv1.GetType())
                {
                    if (i <= usados.Count)
                    {
                        break;
                    }

                    int z = 0;
                    do
                    {
                        z = rnd.Next(0, i);
                    } while (usados.Where(x => x == z).ToList().Count != 0);

                    usados.Add(z);

                    ((AccesoURRv)con).Titulo          = rec[z].Nombre;
                    ((AccesoURRv)con).Foto            = rec[z].Foto;
                    ((AccesoURRv)con).ID              = rec[z].IdReceta;
                    ((AccesoURRv)con).Tipo            = "Receta";
                    ((AccesoURRv)con).CualquierClick += (object sender, EventArgs e) =>
                    {
                        parent.GoReceta(Receta.GetReceta(((AccesoURRv)con).ID));
                    };
                }
            }
        }
예제 #2
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);
                }
            }
        }
예제 #3
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);
        }
예제 #4
0
        private void Home_Load(object sender, EventArgs e)
        {
            RellenarRecetas(Receta.GetRecetas());
            RellenarUsuarios(Usuario.GetUsuarios());

            if (Usuario.UsuarioActual != null)
            {
                btRegistro.Hide();
                btSesion.Hide();
                picUsuario.Show();
                msDesplegable.Show();
                miUsuario.Text   = Usuario.UsuarioActual.Nombre;
                picUsuario.Image = Usuario.UsuarioActual.Foto;
            }

            cmbIdioma.Text = "Castellano";
            AplicarIdioma();
        }
예제 #5
0
        public UsuarioInterfaz(Base par, Usuario usu)
        {
            InitializeComponent();

            MdiParent   = par;
            parent      = par;
            WindowState = FormWindowState.Maximized;

            u = usu;
            RellenarRecetas(Receta.GetRecetas(usu.ID_Usuario));
            RellenarSeguidores(Usuario.GetSeguidos(usu.ID_Usuario));

            if (Usuario.UsuarioActual == null)
            {
                btSeguir.Visible = false;
            }

            else if (Usuario.UsuarioActual.ID_Usuario == u.ID_Usuario)
            {
                btSeguir.Visible     = false;
                btnModificar.Visible = true;
            }

            else if (Usuario.GetSeguidores(u.ID_Usuario).Find(x => x.ID_Usuario == Usuario.UsuarioActual.ID_Usuario) != null)
            {
                if (parent.Idioma == "Castellano")
                {
                    btSeguir.Text     = "Dejar de seguir";
                    btnModificar.Text = "Modificar";
                }

                else
                {
                    btSeguir.Text     = "Unfollow";
                    btnModificar.Text = "Modify";
                }
            }

            ptbUsu.Image    = usu.Foto;
            lblNumrec.Text  = usu.NumeroRecetas.ToString();
            lblnseg.Text    = usu.NumeroSeguidores.ToString();
            lblNomUsu.Text  = usu.Nombre;
            lblDescrip.Text = usu.Descripcion;
        }
예제 #6
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);
            }
        }
예제 #7
0
        public Recetas(Base par, Receta receta)
        {
            InitializeComponent();
            MdiParent   = par;
            parent      = par;
            WindowState = FormWindowState.Maximized;
            r           = receta;

            Usuario usuario = Usuario.GetUsuario(receta.IdUsuario);

            u = usuario;
            lblRetoRecetas.Text = receta.Nombre;
            ptbFoto.Image       = usuario.Foto;
            ptbReceta.Image     = receta.Foto;
            lblnomusu.Text      = usuario.Nombre;
            foreach (string tag in receta.Tags)
            {
                tags1.AnyadirTag(tag);
            }
            foreach (string ing in receta.Indredientes)
            {
                lblIngredientes.Text += ing + "\n";
            }
            lblPasos.Text = receta.Pasos;

            if (Usuario.UsuarioActual != null)
            {
                if (u.ID_Usuario != Usuario.UsuarioActual.ID_Usuario)
                {
                    btnBorrar.Visible = false;
                }
            }
            else
            {
                btnBorrar.Visible = false;
            }
        }
예제 #8
0
 private void btnBorrar_Click(object sender, EventArgs e)
 {
     Receta.BorrarReceta(r.IdReceta);
     parent.GoHome();
 }
예제 #9
0
 private void BtIngles_Click(object sender, EventArgs e)
 {
     parent.GoReceta(Receta.GetReceta(accesoURRv2.ID));
 }
예제 #10
0
 private void AccesoURRv2_MouseClick(object sender, MouseEventArgs e)
 {
     parent.GoReceta(Receta.GetReceta(accesoURRv2.ID));
 }
예제 #11
0
 public void GoReceta(Receta rec)
 {
     actual.Dispose();
     actual = new Recetas(this, rec);
     actual.Show();
 }