Пример #1
0
        public string VerificarIdUsuarioActivo()
        {
            MySqlDataAdapter consulta = new MySqlDataAdapter();
            string           sql;
            DataSet          resultado = new DataSet();
            string           IdUsuarioActivo;

            try
            {
                Conexion_DB.AbrirConexion();

                sql      = "select count(*)as pendiente, id from db_usuarios where Activo=1";
                consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion);
                consulta.Fill(resultado, "rsUsuario");

                if (Convert.ToInt32(resultado.Tables["rsUsuario"].Rows[0]["pendiente"]) == 1)
                {
                    IdUsuarioActivo = Convert.ToString(resultado.Tables["rsUsuario"].Rows[0]["id"]);
                    Conexion_DB.CerraConexion();
                    return(IdUsuarioActivo);
                }
                else
                {
                    Conexion_DB.CerraConexion();
                    return("no");
                }
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error al Comprobar id activo de usuario" + ex.Message);
                return("error");
            }
        }
Пример #2
0
        public static DataSet cargarCotizacion()
        {
            MySqlDataAdapter consulta = new MySqlDataAdapter();
            string           sql;
            var resultado = new DataSet();

            try
            {
                Conexion_DB.AbrirConexion();
                sql      = "select * from db_cotizacion order by Fecha desc limit 1";
                consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion);
                consulta.Fill(resultado, "rsCotizacion");
                Conexion_DB.CerraConexion();
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error al seleccionar Cliente " + ex.Message);
            }

            return(resultado);
        }
Пример #3
0
        public DataSet verNotaAcobrar(DateTime fecha)
        {
            MySqlDataAdapter consulta = new MySqlDataAdapter();
            string           sql;
            var    resultado = new DataSet();
            string xFecha    = Strings.Format(fecha, "yyyy/MM/dd");

            sql = " select date(a.FechaDeVenta)as Venta,a.id as Operacion,b.Nombre as Cliente, a.TotalNeto As 'Total Neto' from db_ventas a  inner join db_clientes b on a.id_cliente = b.id_clientes where date(a.FechaDeVenta) = '" + xFecha + "' and a.estado = 1";
            try
            {
                Conexion_DB.AbrirConexion();
                consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion);
                consulta.Fill(resultado, "rsVentaPendiente");
                Conexion_DB.CerraConexion();
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error al ver compra Pendiente" + ex.Message);
            }

            return(resultado);
        }
Пример #4
0
        public int capturarNuevoNumeroCaja()
        {
            MySqlDataAdapter consulta = new MySqlDataAdapter();
            string           sql;
            DataSet          resultado = new DataSet();
            int nuevoNumero            = 0;

            try
            {
                sql = "select if(max(id)is null,1,max(id+1))as ultimoNumero from db_cajaregistro";
                Conexion_DB.AbrirConexion();
                consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion);
                consulta.Fill(resultado, "rs");
                nuevoNumero = Convert.ToInt32(resultado.Tables["rs"].Rows[0]["ultimoNumero"]);
                Conexion_DB.CerraConexion();
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error al capturar numero de caja" + ex);
            }

            return(nuevoNumero);
        }
Пример #5
0
        /* METODO DE CONFIGURACION PARA CUANDO SE EJECTUTE EL LOAD DEL FORMULARIO*/
        public void cargarConfiguraciones()
        {
            dec_precio = 0; dec_costo = 0; dec_cantidad = 0;
            MySqlDataAdapter consulta = new MySqlDataAdapter();
            string           sql;
            DataSet          resultado = new DataSet();

            try
            {
                Conexion_DB.AbrirConexion();
                sql = "select * from config";

                consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion);
                consulta.Fill(resultado, "rsConfig");

                if (resultado.Tables["rsConfig"].Rows.Count > 0)
                {
                    dec_precio      = Convert.ToInt32(resultado.Tables["rsConfig"].Rows[0]["dec_precio"]);     // captura decimales para el precio
                    dec_costo       = Convert.ToInt32(resultado.Tables["rsConfig"].Rows[0]["dec_costo"]);      // captura decimales para el costo
                    dec_cantidad    = Convert.ToInt32(resultado.Tables["rsConfig"].Rows[0]["dec_cantidad"]);   // decimales para la cantidad
                    config_regional = Convert.ToString(resultado.Tables["rsConfig"].Rows[0]["config_reg"]);    // configurarcion en_Us
                    config_moneda   = Convert.ToString(resultado.Tables["rsConfig"].Rows[0]["config_moneda"]); // configuracion para moneda predeterminada del sistema
                }
                else
                {
                    dec_precio      = 0;
                    dec_costo       = 0;
                    dec_cantidad    = 0;
                    config_regional = "en_Us";
                    config_moneda   = "US";
                }

                // Conexion_DB.CerraConexion();
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error al cargar Configuracion " + ex.StackTrace);
            }

            // se prepara mascara para precios
            if (dec_precio == 0)
            {
                formato_precio = "#,##0";
            }
            else if (dec_precio == 1)
            {
                formato_precio = "###,##0.0";
            }
            else if (dec_precio == 2)
            {
                formato_precio = "###,##0.00";
            }
            else if (dec_precio == 3)
            {
                formato_precio = "###,##0.000";
            }

            // se prepara mascara para costo
            if (dec_costo == 0)
            {
                formato_costo = "#,##0";
            }
            else if (dec_costo == 1)
            {
                formato_costo = "###,##0.0";
            }
            else if (dec_costo == 2)
            {
                formato_costo = "###,##0.00";
            }
            else if (dec_costo == 3)
            {
                formato_costo = "###,##0.000";
            }
            // se prepara mascara para cantidad
            if (dec_cantidad == 0)
            {
                formato_cantidad = "#,##0";
            }
            else if (dec_cantidad == 1)
            {
                formato_cantidad = "###,##0.0";
            }
            else if (dec_cantidad == 1)
            {
                formato_cantidad = "###,##0.00";
            }
            else if (dec_cantidad == 3)
            {
                formato_cantidad = "###,##0.000";
            }
        }
Пример #6
0
        /*************METODOS PARA EL INSERT DE LA CAJA**************/
        public void cobrarVenta()
        {
            modSesion  modSesion  = new modSesion();
            modUsuario modUsuario = new modUsuario();

            frmComprobante frmComprobante = new frmComprobante(txtId_operacion.Text);

            if (Math.Round(saldoPrincipal, 2) != 0)
            {
                MessageBox.Show("Complete monto a pagar o verifique vuelto");
            }
            else
            {
                MySqlCommand     comando;
                MySqlTransaction transaccion;
                string           sqlCaja;
                string           sqlStock;
                string           sqlventa;
                modCaja          modCaja = new modCaja();
                Conexion_DB.AbrirConexion();          // se abre una conexion con la base de datos
                MySqlConnection con = Conexion_DB.conexion;
                transaccion = con.BeginTransaction(); // se inicia una transaccion con la base de datos, acontinuacion se inicia procesos multiples
                try
                {
                    // se inicia proceso 1 :  insertar registro en la tabla caja-----------------------------------------
                    sqlCaja = "INSERT INTO db_cajaregistro (Fecha,Movimiento,Operacion,id_Operacion,SubTotal,Descuento,TotalNeto,GS, US, RS, PA, CH, TJ, CR,Id_Cotizacion,Estado,Id_Usuarios) value " + "(current_timestamp,@mov,@operacion,@id_op,@subtotal,@descuento,@totalneto,@gs,@us,@rs,@pa,@ch,@tj,@cr,@id_cotizacion,@estado,@user)";
                    comando = new MySqlCommand(sqlCaja, con);
                    comando.Parameters.AddWithValue("@mov", "E");
                    comando.Parameters.AddWithValue("@operacion", "VENTA");
                    comando.Parameters.AddWithValue("@id_op", txtId_operacion.Text);
                    comando.Parameters.AddWithValue("@subtotal", totalPrincipal);
                    comando.Parameters.AddWithValue("@descuento", descuentoPrincipal);
                    comando.Parameters.AddWithValue("@totalneto", totalPrincipal - descuentoPrincipal);
                    comando.Parameters.AddWithValue("@gs", modSesion.convertirDecimal(txtpagogs.Text) - modSesion.convertirDecimal(txtvueltogs.Text));
                    comando.Parameters.AddWithValue("@us", modSesion.convertirDecimal(txtpagous.Text) - modSesion.convertirDecimal(txtvueltous.Text));
                    comando.Parameters.AddWithValue("@rs", modSesion.convertirDecimal(txtpagors.Text) - modSesion.convertirDecimal(txtvueltors.Text));
                    comando.Parameters.AddWithValue("@pa", modSesion.convertirDecimal(txtpagops.Text) - modSesion.convertirDecimal(txtvueltops.Text));
                    comando.Parameters.AddWithValue("@ch", 0);
                    comando.Parameters.AddWithValue("@tj", 0);
                    comando.Parameters.AddWithValue("@cr", modSesion.convertirDecimal(txtpagoCr.Text) - modSesion.convertirDecimal(txtvueltoCr.Text));
                    comando.Parameters.AddWithValue("@id_cotizacion", idCotizacion);
                    comando.Parameters.AddWithValue("@estado", "1");
                    int usr = Convert.ToInt32(modUsuario.VerificarIdUsuarioActivo());

                    comando.Parameters.AddWithValue("@user", usr);
                    comando.ExecuteNonQuery();

                    // se inicia proceso 2: Actualizar estado de venta y saldo de venta
                    decimal saldoVenta;
                    string  tipo_venta;
                    if (modSesion.convertirDecimal(txtpagoCr.Text) == 0) // se verifica si pago no fue a credito
                    {
                        saldoVenta = 0;
                        tipo_venta = "Contado";
                    }
                    else
                    {
                        saldoVenta = modSesion.convertirDecimal(txtpagoCr.Text) - modSesion.convertirDecimal(txtvueltoCr.Text);
                        tipo_venta = "Credito";
                    }

                    sqlventa = "update db_ventas set Estado=2, TotalSaldo=@saldo,TipoDeVenta=@tipo where id= @id";
                    comando  = new MySqlCommand(sqlventa, con);
                    comando.Parameters.AddWithValue("@saldo", saldoVenta);
                    comando.Parameters.AddWithValue("@id", txtId_operacion.Text);
                    comando.Parameters.AddWithValue("@tipo", tipo_venta);
                    comando.ExecuteNonQuery();

                    // se inicia proceso 3: Descontar stock de la venta cobrada
                    int     c, n;
                    var     consulta  = new MySqlDataAdapter();
                    var     resultado = new DataSet();
                    decimal cantidad;
                    int     idproducto;
                    c        = 0;
                    sqlventa = "";
                    // se genera sql para capturar productos de la venta cobrada
                    sqlventa = "select * from db_ventaitems where Id_Ventas = " + txtId_operacion.Text;
                    consulta = new MySqlDataAdapter(sqlventa, con);
                    consulta.Fill(resultado, "rsVenta");
                    while (c < resultado.Tables["rsVenta"].Rows.Count)
                    {
                        // se captura cantidad y codigo de producto de la consulta de la venta
                        cantidad   = Convert.ToDecimal(resultado.Tables["rsVenta"].Rows[c]["cantidad"]);
                        idproducto = Convert.ToInt32(resultado.Tables["rsVenta"].Rows[c]["id_producto"]);
                        // se genera sql para actualizar stock y se envia parametros
                        sqlStock = "update db_productos set Stock = Stock - @cantidad where id=@idproducto";
                        comando  = new MySqlCommand(sqlStock, con);
                        comando.Parameters.AddWithValue("@cantidad", cantidad);
                        comando.Parameters.AddWithValue("@idproducto", idproducto);
                        comando.ExecuteNonQuery();
                        c = c + 1;
                    }

                    MensajeDeCheck mensajeDeCheck = new MensajeDeCheck("   Cobro Efectuado con exito");
                    mensajeDeCheck.ShowDialog();

                    frmComprobante.ShowDialog();

                    transaccion.Commit(); // finaliza procesos y aplica cambios en la base de datos

                    Conexion_DB.CerraConexion();
                    preparaNuevaCaja();
                    modCaja.capturarNuevoNumeroCaja();
                    iniciarCobroVenta();
                    mostrarCotizacion();
                }
                catch (MySqlException ex)
                {
                    MessageBox.Show("Error al procesar cobro " + ex.Message);
                    transaccion.Rollback();
                } // si ocurre algun error no aplica cambios en la base de datos
            }
        }