private void frmPrincipal_FormClosing(object sender, FormClosingEventArgs e)
 {
     try
     {
         if (agregarVenta.HayProductos)
         {
             DialogResult confirmacion = MessageBox.Show(this, "¿Desea guardar la venta actual?\n", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
             if (confirmacion == DialogResult.Yes)
             {
                 GuardarVenta.Guardar(agregarVenta.Guardar());
             }
             else
             {
                 agregarVenta.Cancelar();
             }
         }
         else if (File.Exists(Application.StartupPath + "\\Maxima_Distribuidores_VS.xml"))
         {
             File.Delete(Application.StartupPath + "\\Maxima_Distribuidores_VS.xml");
         }
         Directory.Delete(Application.StartupPath + "\\corte\\", true);
         Directory.Delete(Application.StartupPath + "\\reportes\\", true);
     }
     catch (Exception) { }
     Usuario.DestruirInstancia();
 }
        private void dgvCotizaciones_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex != IndexColumna("seleccionador"))
            {
                DialogResult confirmacion = MessageBox.Show(this, "Si convierte esta cotización en pedido se eliminara la venta actual\n¿Desea continuar?", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (confirmacion == DialogResult.Yes)
                {
                    agregarVenta.Cancelar();
                    if (IndexColumna("generar") == e.ColumnIndex)
                    {
                        try
                        {
                            List <ProductoCompleto> listaProductos = new List <ProductoCompleto>();
                            string[]        cotizacion, usuario;
                            List <string[]> productos;
                            try
                            {
                                cotizacion = Sql.BuscarDatos("SELECT cotizacion.id_cotizacion,clientes.id_tipo_cliente , clientes.nombres,clientes.apellido_paterno," +
                                                             "clientes.apellido_materno, clientes.rfc, clientes.telefono, clientes.domicilio, clientes.correo_electronico, cotizacion.fecha_cotizacion" +
                                                             " FROM cotizacion,clientes,productos_de_cotizacion" +
                                                             " WHERE (cotizacion.id_cotizacion = '" + ValorCelda(e.RowIndex, "id_cotizacion") + "')" +
                                                             " AND (clientes.id_cliente=cotizacion.id_cliente)" +
                                                             " AND (productos_de_cotizacion.id_cotizacion=cotizacion.id_cotizacion)" +
                                                             " GROUP BY cotizacion.id_cotizacion")[0];
                            }
                            catch (Exception)
                            {
                                cotizacion = new string[] { " ", " ", " ", " ", " ", " " };
                            }

                            usuario   = new string[] { " ", " ", " ", " " };
                            productos = Sql.BuscarDatos("SELECT productos_de_cotizacion.id_producto, productos_de_cotizacion.cantidad_cotizada, " +
                                                        "productos_de_cotizacion.precio_al_momento, productos_de_cotizacion.descuento, " +
                                                        "productos.nombre  " +
                                                        "FROM productos_de_cotizacion, productos " +
                                                        "WHERE (productos_de_cotizacion.id_cotizacion=" + cotizacion[0] + ") " +
                                                        "AND (productos.codigo=productos_de_cotizacion.id_producto) ");

                            foreach (string[] datos in productos)
                            {
                                listaProductos.Add(new ProductoCompleto(datos[0], datos[4], float.Parse(datos[1]), float.Parse(datos[3]), float.Parse(datos[1]) * float.Parse(datos[2])));
                            }

                            Venta venta = new Venta(int.Parse(cotizacion[0]), new Usuarios(usuario[0], usuario[1] + " " + usuario[2] + " " + usuario[3]),
                                                    new Clientes(int.Parse(cotizacion[1]), cotizacion[2], cotizacion[3], cotizacion[4], cotizacion[5], cotizacion[6], cotizacion[7], cotizacion[8]),
                                                    false, cotizacion[9], listaProductos, 0, 0, 0);

                            agregarVenta.GenerarCotizacion(venta);
                        }
                        catch (Exception) { }
                    }
                }
            }
        }