//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"); } }
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; }
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(); } }
//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(); } }
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(); } }
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"); } }
//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."); } } }
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(); }
//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"); } }
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"); } } }
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(); }
//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: "; } }
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"); } }
//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."); } } }
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"); } } } }
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"); } }
//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(); } }