private void btnInsertarProducto_Click(object sender, EventArgs e)
        {
            //verificar si hay campos nulos
            if (txtCodigo.Text == "" || txtNombre.Text == "" || txtPrecio.Text == "")
            {
                lblMensaje.ForeColor = Color.Red;
                lblMensaje.Text      = "Por favor, complete los campos correspondientes para realizar su registro";
            }
            else
            {
                //verifica que el producto exista y se lo informa al usuario
                if (pl.ObtenerProducto(txtCodigo.Text).Count > 0)
                {
                    lblMensaje.ForeColor = Color.Red;
                    lblMensaje.Text      = "Lo sentimos, este producto ya existe en el sistema, registre otro por favor";
                }
                else
                {
                    //crear la instancia de producto
                    Producto p = new Producto();
                    p.idProducto       = txtCodigo.Text;
                    p.nombre           = txtNombre.Text;
                    p.cantidad         = Convert.ToInt32(nudCantidad.Value);
                    p.fechaIngreso     = DateTime.Now.ToString("dd/MM/yyyy");
                    p.fechaVencimiento = dtpFechaVencimiento.Value.ToString("dd/MM/yyyy");
                    p.idCategoria      = Convert.ToInt32(cboCategoria.SelectedValue);
                    p.idProveedor      = cboProveedor.SelectedValue.ToString();
                    p.estado           = 1;
                    try
                    {
                        double preVal = Convert.ToDouble(txtPrecio.Text);

                        p.precio = pl.precioRealProducto(Convert.ToDouble(txtPrecio.Text), Convert.ToDouble(nudGanancia.Value));

                        //insertar el producto
                        pl.InsertarProducto(p);
                        refrescar();
                        lblMensaje.ForeColor = Color.Green;
                        lblMensaje.Text      = "Producto registrado exitosamente";
                        ind = false;
                    }
                    catch (Exception)
                    {
                        lblMensaje.ForeColor = Color.Red;
                        lblMensaje.Text      = "El campo precio debe contener valores numéricos";
                        return;
                    }
                }
            }
        }