Exemplo n.º 1
0
        //Metodo para cargar los datos del usuario
        private void CargarDatos()
        {
            if (ConexionBD.AbrirConexion())
            {
                List <string> usu = Usuario.CargarDatos2(ConexionBD.Conexion);

                //Añado los valores que tiene actualmente
                txtNombre.Text       = usu[1];
                txtApellidos.Text    = usu[2];
                txtCorreo.Text       = usu[3];
                txtPass1.Text        = usu[4];
                txtPass2.Text        = "";
                txtTelefono.Text     = usu[5];
                txtProvincia.Text    = usu[7];
                txtLocalidad.Text    = usu[8];
                txtDireccion.Text    = usu[9];
                txtCodigoPostal.Text = usu[10];
                txtNum.Text          = usu[12];
                txtPiso.Text         = usu[12];
                txtPuerta.Text       = usu[13];

                ConexionBD.CerrarConexion();
            }
            else
            {
                MessageBox.Show("No se ha podido abrir la conexión con la Base de Datos");
            }
        }
Exemplo n.º 2
0
        public Categorias(string correo)
        {
            InitializeComponent();

            //Averiguo el nombre del usuario
            if (ConexionBD.AbrirConexion())
            {
                Sesion.NombreUsu = Sesion.NombreUsuario(ConexionBD.Conexion, correo);

                ConexionBD.CerrarConexion();
            }
            else
            {
                MessageBox.Show("No se ha podido abrir la conexión con la Base de Datos");
            }

            //Averiguo el nif del usuario
            if (ConexionBD.AbrirConexion())
            {
                Sesion.NifUsu = Sesion.NifUsuario(ConexionBD.Conexion, correo);

                ConexionBD.CerrarConexion();
            }
            else
            {
                MessageBox.Show("No se ha podido abrir la conexión con la Base de Datos");
            }

            label1.Text = Sesion.NombreUsu;
        }
Exemplo n.º 3
0
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            if (ConexionBD.AbrirConexion())
            {
                bool   ok = true;
                string consulta;
                if (dtgProductos.SelectedRows.Count == 1)
                {
                    codigo = (int)dtgProductos.CurrentRow.Cells[0].Value;
                }
                else
                {
                    try
                    {
                        codigo = Convert.ToInt32(txtCodigo.Text);
                    }
                    catch (Exception)
                    {
                        ok = false;
                        throw;
                    }
                }

                if (ok)
                {
                    consulta = String.Format("Select * FROM producto WHERE Codigo='{0}';", codigo);
                    MySqlCommand    comando = new MySqlCommand(consulta, ConexionBD.Conexion);
                    MySqlDataReader reader  = comando.ExecuteReader();
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            txtNombre.Text      = reader.GetString(1);
                            txtPrecio.Text      = Convert.ToString(reader.GetDouble(2));
                            cmbCategoria.Text   = reader.GetString(3);
                            txtDescripcion.Text = reader.GetString(4);
                            try
                            {
                                txtInformacionNutritiva.Text = reader.GetString(5);
                            }
                            catch (Exception)
                            {
                            }
                        }

                        ControlesEditar();
                    }
                    else
                    {
                        MessageBox.Show("Producto no encontrado");
                    }
                }
                else
                {
                    MessageBox.Show("Código no válido");
                }
                ConexionBD.CerrarConexion();
            }
        }
Exemplo n.º 4
0
        //Metodo para eliminar productos del carrito
        private void dtgCarrito_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            string nombre           = dtgCarrito.CurrentRow.Cells[0].Value.ToString();
            int    cantidadEliminar = Decimal.ToInt32(cantidad.Value);
            int    cantCart         = int.Parse(dtgCarrito.CurrentRow.Cells[1].Value.ToString());

            if (cantidadEliminar > cantCart)
            {
                MessageBox.Show("No tienes tanta cantidad de ese producto en el carrito");
            }
            else if (cantidadEliminar == cantCart)
            {
                if (MessageBox.Show("Se eliminaran todas las cantidades ¿Seguro que desea eliminar?", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    string consulta = String.Format($"DELETE FROM carritotemporal WHERE DniCliente LIKE '{Sesion.NifUsu}' AND NomProducto LIKE '{nombre}'");

                    ConexionBD.AbrirConexion();

                    MySqlCommand    comando = new MySqlCommand(consulta, ConexionBD.Conexion);
                    MySqlDataReader reader  = comando.ExecuteReader();

                    ConexionBD.CerrarConexion();

                    cantidad.Value = 1;
                    CargarCarrito();
                    ImporteTotal();
                }
            }
            else
            {
                int    nuevaCantidad = cantCart - cantidadEliminar;
                double precio        = 0;

                if (MessageBox.Show($"Te quedaras con {nuevaCantidad} unidad(es) en el carrito ¿Seguro que desea eliminar?", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    ConexionBD.AbrirConexion();
                    precio = Productos.CalcularPrecio(ConexionBD.Conexion, nombre);
                    ConexionBD.CerrarConexion();

                    double nuevoImporte = nuevaCantidad * precio;
                    nuevoImporte = Math.Round(nuevoImporte, 2);
                    string consulta = String.Format($"UPDATE carritotemporal SET Cantidad='{nuevaCantidad}', Importe='{nuevoImporte}' WHERE DniCliente LIKE '{Sesion.NifUsu}' AND NomProducto LIKE '{nombre}'");

                    ConexionBD.AbrirConexion();

                    MySqlCommand    comando = new MySqlCommand(consulta, ConexionBD.Conexion);
                    MySqlDataReader reader  = comando.ExecuteReader();

                    ConexionBD.CerrarConexion();
                }

                cantidad.Value = 1;
                CargarCarrito();
                ImporteTotal();
            }
        }
Exemplo n.º 5
0
        public EliminarProducto()
        {
            InitializeComponent();

            if (ConexionBD.AbrirConexion())
            {
                List <Productos> productos = new List <Productos>();
                string           consulta  = string.Format("SELECT Codigo,Nombre,Precio,Categoria,Descripcion,Informacion FROM producto");
                productos = Administrador.BuscarProducto(ConexionBD.Conexion, consulta);
                dtgProductos.DataSource = productos;
                ConexionBD.CerrarConexion();
            }
        }
Exemplo n.º 6
0
        private void pcbLupa_Click(object sender, EventArgs e)
        {
            if (ConexionBD.AbrirConexion())
            {
                dtgCarrito.DataSource = CarritoTemporal.FiltrarCarrito(ConexionBD.Conexion, txtBuscar.Text);

                ConexionBD.CerrarConexion();
            }
            else
            {
                MessageBox.Show("No se ha podido abrir la conexión con la Base de Datos");
            }
        }
Exemplo n.º 7
0
        //Metodo para realizar el registro
        private void btnRegistar_Click(object sender, EventArgs e)
        {
            if (ValidarDatos())
            {
                if (txtPass1.Text == txtPass2.Text)
                {
                    ConexionBD.AbrirConexion();

                    if (Usuario.ExisteUsuario(ConexionBD.Conexion, txtCorreo.Text))
                    {
                        MessageBox.Show("Ya existe un usuario con ese correo.");
                        ConexionBD.CerrarConexion();
                    }
                    else
                    {
                        ConexionBD.CerrarConexion();
                        ConexionBD.AbrirConexion();

                        if (Usuario.ExisteUsuario2(ConexionBD.Conexion, txtDNI.Text))
                        {
                            MessageBox.Show("Ya existe un usuario con ese DNI.");
                            ConexionBD.CerrarConexion();
                        }
                        else
                        {
                            //Creo el usuario
                            Usuario usu = new Usuario(txtDNI.Text, txtNombre.Text, txtApellidos.Text, txtCorreo.Text, txtPass1.Text,
                                                      int.Parse(txtTelefono.Text), txtProvincia.Text, txtLocalidad.Text, txtDireccion.Text, int.Parse(txtCodigoPostal.Text),
                                                      int.Parse(txtNum.Text), int.Parse(txtPiso.Text), int.Parse(txtPuerta.Text));

                            //Añado el usuario a la BD
                            ConexionBD.CerrarConexion();
                            ConexionBD.AbrirConexion();

                            Usuario.AgregarUsuario(ConexionBD.Conexion, usu);
                            MessageBox.Show("Usuario creado correctamente.");
                            ConexionBD.CerrarConexion();

                            this.Hide();
                            Form1 inicio = new Form1();
                            inicio.Show();
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Las contraseñas no coinciden.");
                }
            }
        }
Exemplo n.º 8
0
 private void btnEliminarFiltros_Click(object sender, EventArgs e)
 {
     if (ConexionBD.AbrirConexion())
     {
         List <Productos> productos = new List <Productos>();
         string           consulta  = string.Format("Select * from producto");
         productos = Administrador.BuscarProducto(ConexionBD.Conexion, consulta);
         dtgProductos.DataSource = productos;
     }
     else
     {
         MessageBox.Show("No se ha podido abrir la conexión con la base de datos");
     }
     ConexionBD.CerrarConexion();
 }
Exemplo n.º 9
0
        //Metodos

        //Metodo para cargar el carrito del cliente
        private void CargarCarrito()
        {
            string consulta = String.Format($"SELECT NomProducto, Cantidad, Importe FROM carritotemporal where DniCliente LIKE '{Sesion.NifUsu}'");

            if (ConexionBD.AbrirConexion())
            {
                dtgCarrito.DataSource = CarritoTemporal.CargarCarrito(ConexionBD.Conexion, consulta);

                ConexionBD.CerrarConexion();
            }
            else
            {
                MessageBox.Show("No se ha podido abrir la conexión con la Base de Datos");
            }
        }
Exemplo n.º 10
0
        private void btnEntrar_Click(object sender, EventArgs e)
        {
            if (txtContraseña.Text.Length == 0)
            {
                MessageBox.Show("Introduce una contraseña");
            }
            else
            {
                if (Utilidades.ComprobarCorreo(txtCorreo.Text))
                {
                    try
                    {
                        if (ConexionBD.AbrirConexion())
                        {
                            if (Utilidades.IniciarSesion(ConexionBD.Conexion, txtCorreo.Text, txtContraseña.Text))
                            {
                                this.Hide();
                                Categorias categorias = new Categorias(txtCorreo.Text);
                                categorias.Show();
                            }
                            else
                            {
                                MessageBox.Show("El correo o la contraseña no son correctos.");
                                txtContraseña.Clear();
                            }

                            ConexionBD.CerrarConexion();
                        }
                        else
                        {
                            MessageBox.Show("No se ha podido abrir la conexión con la Base de Datos");
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + "\n" + ex.StackTrace);
                    }
                    finally
                    {
                        ConexionBD.CerrarConexion();
                    }
                }
                else
                {
                    MessageBox.Show("Correo incorrecto");
                }
            }
        }
Exemplo n.º 11
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (txtInformacionNutritiva.Text.Length == 0)
            {
                txtInformacionNutritiva.Text = " ";
            }

            Administrador admin = new Administrador();
            int           res;
            DialogResult  respuesta = MessageBox.Show("¿Modificar producto?", "Modificar", MessageBoxButtons.YesNo);

            if (respuesta == DialogResult.Yes)
            {
                if (ConexionBD.AbrirConexion())
                {
                    if (!NombreRepetido(txtNombre.Text))
                    {
                        if (txtInformacionNutritiva.Text == "" || txtInformacionNutritiva.Text == null)
                        {
                            res = admin.EditarProducto(ConexionBD.Conexion, codigo, txtNombre.Text, Convert.ToDouble(txtPrecio.Text), txtDescripcion.Text, cmbCategoria.Text);
                        }
                        else
                        {
                            res = admin.EditarProducto(ConexionBD.Conexion, codigo, txtNombre.Text, Convert.ToDouble(txtPrecio.Text), txtDescripcion.Text, cmbCategoria.Text, txtInformacionNutritiva.Text);
                            MessageBox.Show("El producto ha sido modificado con éxito");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ya hay un producto en la base de datos con este nombre, introduce otro");
                    }
                }
                else
                {
                    MessageBox.Show("No se ha podido abrir la conexión con la base de datos");
                }
                ConexionBD.CerrarConexion();
            }

            cmbCategoria.Text = "";
            txtDescripcion.Clear();
            txtInformacionNutritiva.Clear();
            txtNombre.Clear();
            txtPrecio.Clear();
        }
Exemplo n.º 12
0
        //Botones

        //Boton para vaciar el carrito
        private void btnVaciar_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("¿Seguro que desea vaciar el carrito?", "Vaciar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
            {
                if (ConexionBD.AbrirConexion())
                {
                    dtgCarrito.DataSource = CarritoTemporal.VaciarCarrito(ConexionBD.Conexion, Sesion.NifUsu);

                    ConexionBD.CerrarConexion();
                }
                else
                {
                    MessageBox.Show("No se ha podido abrir la conexión con la Base de Datos");
                }

                CargarCarrito();
                lblTotal.Text = "Total:    ";
            }
        }
Exemplo n.º 13
0
 private void btnFiltrar_Click(object sender, EventArgs e)
 {
     if (ConexionBD.AbrirConexion())
     {
         if (cmbFiltrar.Text != "")
         {
             List <Productos> productos = new List <Productos>();
             string           consulta  = string.Format("Select * from producto WHERE categoria like '{0}';", cmbFiltrar.Text);
             productos = Administrador.BuscarProducto(ConexionBD.Conexion, consulta);
             dtgProductos.DataSource = productos;
         }
         else
         {
             MessageBox.Show("No se ha seleccionado ninguna categoría");
         }
         ConexionBD.CerrarConexion();
     }
     else
     {
         MessageBox.Show("No se ha podido abrir la conexión con la base de datos");
     }
 }
Exemplo n.º 14
0
        //Metodo para guardar cambios realizados en el perfil
        private void btnGuardarCambios_Click(object sender, EventArgs e)
        {
            if (ValidarDatos())                     //Compruebo que todos los datos son validos
            {
                if (txtPass1.Text == txtPass2.Text) //Compruebo que ambas contraseñas coindicen
                {
                    ConexionBD.AbrirConexion();

                    if (MessageBox.Show("¿Seguro que quieres guardar los cambios?", "Guardar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        //Creo el usuario
                        Usuario usu = new Usuario(Sesion.NifUsu, txtNombre.Text, txtApellidos.Text, txtCorreo.Text, txtPass1.Text,
                                                  int.Parse(txtTelefono.Text), txtProvincia.Text, txtLocalidad.Text, txtDireccion.Text, int.Parse(txtCodigoPostal.Text),
                                                  int.Parse(txtNum.Text), int.Parse(txtPiso.Text), int.Parse(txtPuerta.Text));

                        ConexionBD.CerrarConexion();
                        ConexionBD.AbrirConexion();

                        Usuario.EditarUsuario(ConexionBD.Conexion, usu);
                        MessageBox.Show("Cambios realizados correctamente. Debes iniciar sesión para actualizar.");
                        ConexionBD.CerrarConexion();

                        this.Hide();
                        Form1 inicio = new Form1();
                        inicio.Show();
                    }
                    else
                    {
                        ConexionBD.CerrarConexion();
                    }
                }
                else
                {
                    MessageBox.Show("Las contraseñas no coinciden.");
                }
            }
        }
Exemplo n.º 15
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (dtgProductos.SelectedRows.Count == 1)
            {
                int codigo = (int)dtgProductos.CurrentRow.Cells[0].Value;

                DialogResult eliminacion = MessageBox.Show("¿Eliminar producto?, se eliminará este producto de todos los carritos", "Eliminar", MessageBoxButtons.YesNo);

                if (eliminacion == DialogResult.Yes)
                {
                    if (ConexionBD.AbrirConexion())
                    {
                        Administrador admin     = new Administrador();
                        int           resultado = admin.BorrarProducto(ConexionBD.Conexion, codigo);
                        MessageBox.Show("Se ha eliminado el producto");
                        ConexionBD.CerrarConexion();
                    }
                    else
                    {
                        MessageBox.Show("No se puede abrir la Base de Datos");
                    }
                }
            }
            else
            {
                DialogResult respuesta = MessageBox.Show("¿Eliminar producto?, se eliminará este producto de todos los carritos", "Eliminar", MessageBoxButtons.YesNo);
                if (respuesta == DialogResult.Yes)
                {
                    Administrador admin  = new Administrador();
                    int           codigo = 0;
                    bool          ok     = false;
                    try
                    {
                        codigo = Convert.ToInt32(txtCodigo.Text);
                        ok     = true;
                    }
                    catch (Exception)
                    {
                    }

                    if (ok)
                    {
                        if (ConexionBD.AbrirConexion())
                        {
                            int exito = admin.BorrarProducto(ConexionBD.Conexion, codigo);
                            if (exito > 0)
                            {
                                MessageBox.Show("Producto eliminado");
                            }
                            else
                            {
                                MessageBox.Show("Producto no encontrado");
                            }
                            ConexionBD.CerrarConexion();
                        }
                        else
                        {
                            MessageBox.Show("No se ha podido abrir la conexión con la base de datos");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Código incorrecto");
                    }
                }
            }
        }
Exemplo n.º 16
0
        private void btnInsertar_Click(object sender, EventArgs e)
        {
            if (txtInformacionNutritiva.Text.Length == 0)
            {
                txtInformacionNutritiva.Text = " ";
            }

            if (ConexionBD.AbrirConexion())
            {
                if (comprobarVacios())
                {
                    DialogResult respuesta = MessageBox.Show("¿Insertar producto?", "Insertar", MessageBoxButtons.YesNo);
                    if (respuesta == DialogResult.Yes)
                    {
                        bool          ok    = false;
                        Administrador admin = new Administrador();
                        Productos     prod  = new Productos();
                        List <int>    lista = new List <int>();
                        int           res;

                        prod.Nombre = txtNombre.Text;
                        try
                        {
                            prod.Precio = Convert.ToDouble(txtPrecio.Text);
                            ok          = true;
                        }
                        catch (Exception)
                        {
                        }

                        prod.Categoria   = cmbCategoria.Text;
                        prod.Descripcion = txtDescripcion.Text;
                        prod.Info        = txtInformacionNutritiva.Text;
                        prod.Foto        = pctFoto.Image;

                        if (ok)
                        {
                            if (!NombreRepetido(prod.Nombre))
                            {
                                MySqlCommand    commando = new MySqlCommand("SELECT Codigo FROM producto ORDER BY Codigo;", ConexionBD.Conexion);
                                MySqlDataReader reader   = commando.ExecuteReader();

                                if (reader.HasRows)
                                {
                                    while (reader.Read())
                                    {
                                        lista.Add(reader.GetInt32(0));
                                    }
                                }
                                reader.Close();
                                prod.Codigo = lista[lista.Count - 1] + 1;

                                res = admin.AgregarProducto(ConexionBD.Conexion, prod);
                                if (res > 0)
                                {
                                    MessageBox.Show("Producto insertado");
                                }
                                else
                                {
                                    MessageBox.Show("No se ha podido insertar el producto");
                                }
                                txtNombre.Clear();
                                cmbCategoria.Text = "";
                                txtDescripcion.Clear();
                                txtInformacionNutritiva.Clear();
                                txtPrecio.Clear();
                                pctFoto.Image = pcbLogo.Image;
                            }
                            else
                            {
                                MessageBox.Show("Ya hay un producto en la base de datos con este nombre, introduce otro");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Precio no válido");
                        }
                    }
                }
                ConexionBD.CerrarConexion();
            }
            else
            {
                MessageBox.Show("No se ha podido abrir la conexión con la base de datos");
            }
        }
Exemplo n.º 17
0
        //Metodo para final la compra
        private void btnFinalizarPedido_Click(object sender, EventArgs e)
        {
            //Cargo el datagrid con todos los productos por si el cliente ha realizado alguna busqueda
            ConexionBD.AbrirConexion();
            dtgCarrito.DataSource = CarritoTemporal.FiltrarCarrito(ConexionBD.Conexion, "");
            ConexionBD.CerrarConexion();

            string   metodoPago = "";
            DateTime fecha      = DateTime.Now;
            string   dni        = Sesion.NifUsu;

            if (rdbVisa.Checked)
            {
                metodoPago = "Visa";
            }
            else if (rdbTarjeta.Checked)
            {
                metodoPago = "Tarjeta";
            }
            else if (rdbMastercard.Checked)
            {
                metodoPago = "Mastercard";
            }
            else if (rdbPaypal.Checked)
            {
                metodoPago = "PayPal";
            }

            ConexionBD.AbrirConexion();

            if (CarritoTemporal.ComprobarCarrito(ConexionBD.Conexion))
            {
                ConexionBD.CerrarConexion();
                if (MessageBox.Show("¿Seguro que desea realizar la compra? No podrá modificarla después.", "Comprar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    //Añado los productos del carrito a la tabla compra
                    for (int i = 0; i < dtgCarrito.Rows.Count; i++)
                    {
                        int    codigoProducto;
                        string nombreProducto   = dtgCarrito.Rows[i].Cells[0].Value.ToString();
                        int    cantidadProducto = int.Parse(dtgCarrito.Rows[i].Cells[1].Value.ToString());

                        ConexionBD.AbrirConexion();
                        codigoProducto = Productos.CodigoProducto(ConexionBD.Conexion, nombreProducto);
                        ConexionBD.CerrarConexion();

                        ConexionBD.AbrirConexion();
                        string          consultaInsert = String.Format("INSERT INTO compra (Fecha, DniCliente, CodProducto, Cantidad, Metodo) VALUES ('{0}','{1}','{2}','{3}','{4}');", fecha.ToString("yyyy-MM-dd HH:mm:ss"), dni, codigoProducto, cantidadProducto, metodoPago);
                        MySqlCommand    comando        = new MySqlCommand(consultaInsert, ConexionBD.Conexion);
                        MySqlDataReader reader         = comando.ExecuteReader();
                        ConexionBD.CerrarConexion();
                    }

                    //Muestro mensaje indicando que la compra se ha realizado correctamente
                    MessageBox.Show("Compra realizada correctamente. Le enviaremos su pedido lo antes posible.");

                    //Pregunto al cliente si quiere vaciar el carrito
                    if (MessageBox.Show("¿Quieres vaciar el carrito?", "Vaciar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        ConexionBD.AbrirConexion();
                        CarritoTemporal.VaciarCarrito(ConexionBD.Conexion, Sesion.NifUsu);
                        ConexionBD.CerrarConexion();
                    }
                    CargarCarrito();
                    ImporteTotal();
                }
            }
            else
            {
                MessageBox.Show("No tienes ningun producto en tu carrito.");
                ConexionBD.CerrarConexion();
            }
        }