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(); } }