Beispiel #1
0
        /**
         * el método devolucion() busca la cantidad de productos de una compra específica, elimina la compra y modifica la
         * cantida de disolventes en existencia de la compra devuelta
         * no tiene parámetros
         * regresa 1 o -1 en caso de éxito o error respectivamente
         */
        public int devolucion()
        {
            int           res = 0;
            SqlConnection con;
            SqlCommand    cmd1, cmd2;
            SqlDataReader rd;
            int           cantidadDev = 0, idDisolv = 0;

            String query1 = String.Format("select cantidad, idDisolvente from Compra where clave={0}", clave);
            String query2 = String.Format("delete from Compra where clave={0}", clave);

            try
            {
                con  = Conexion.agregarConexion();
                cmd1 = new SqlCommand(query1, con);
                rd   = cmd1.ExecuteReader();
                if (rd.Read())
                {
                    cantidadDev = rd.GetInt16(0);
                    idDisolv    = rd.GetInt16(1);
                }
                d = new Disolvente(idDisolv);
                d.actualizarCantidad(cantidadDev);
                rd.Close();
                cmd2 = new SqlCommand(query2, con);
                res  = cmd2.ExecuteNonQuery();
                con.Close();
                return(1);
            }
            catch (Exception ex)
            {
                MessageBox.Show("error: " + ex);
                return(-1);
            }
        }
Beispiel #2
0
        /**
         * el método gananciasTotales() calcula la suma de todas las ventas que se han hecho
         * no tiene parámetros
         * no lanza excepciones y regresa el la suma total
         */
        public int gananciasTotales()
        {
            int    res   = -1;
            String query = String.Format("select sum(totalCompra) from Compra");

            try
            {
                SqlConnection con;
                SqlDataReader rd;
                con = Conexion.agregarConexion();
                SqlCommand cmd = new SqlCommand(query, con);
                rd = cmd.ExecuteReader();
                if (rd.Read())
                {
                    res = rd.GetInt32(0);
                }
                con.Close();
            }
            catch (Exception ex)
            {
                res = -1;
            }

            return(res);
        }
Beispiel #3
0
        /**
         * el método generarCompra() inserta una nueva compra a la base de datos y modifica la cantidad existenete llamando al método
         * actualizarCantidad() de la clase Disolvente
         * no tiene parámetros
         * regresa el total de la compra o -1 en case de error
         */
        public int generarCompra()
        {
            int status = d.actualizarCantidad(-cantidad);

            if (status > 0)
            {
                SqlCommand    cmd;
                SqlConnection con;
                int           res;
                String        query = String.Format("insert into Compra (clave, idCliente, idDisolvente, cantidad, totalCompra) values ({0}, {1}, {2}, {3}, {4})", clave, idCliente, d.getId(), cantidad, totalC);
                try
                {
                    con = Conexion.agregarConexion();
                    cmd = new SqlCommand(query, con);
                    res = cmd.ExecuteNonQuery();
                    con.Close();
                    return(totalC);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("error " + ex.Message);
                    return(-1);
                }
            }
            else
            {
                return(-1);
            }
        }
Beispiel #4
0
        /**
         * el método actualizarStock() calcula la cantidad de productos totales que se tienen en existencia
         * no tiene parámetros
         * no lanza excepciones y regresa la suma de la cantidad de disolventes totales
         */
        public int actualizarStock()
        {
            int    res   = -1;
            String query = String.Format("select sum(cantidad) from Disolvente");

            try
            {
                SqlConnection con;
                SqlDataReader rd;
                con = Conexion.agregarConexion();
                SqlCommand cmd = new SqlCommand(query, con);
                rd = cmd.ExecuteReader();
                if (rd.Read())
                {
                    res = rd.GetInt32(0);
                }
                con.Close();
            }
            catch (Exception ex)
            {
                res = -1;
            }

            return(res);
        }
Beispiel #5
0
        /**
         * el método actualizarCantidad() modifica la cantidad de disolventes existentes de cierta clave
         * el parámetro cant respresenta la cantidad a añadir a la suma
         * no lanza excepciones y regresa la nueva cantidad o -1 en caso de error
         */
        public int actualizarCantidad(int cant)
        {
            int cuantos   = buscarCantidad();
            int res       = 0;
            int nuevaCant = cuantos + cant;

            if (nuevaCant >= 0)
            {
                SqlCommand    cmd;
                String        query = String.Format("update Disolvente set cantidad= {0} where idDisolvente= {1}", nuevaCant, idDisolv);
                SqlConnection con;
                try
                {
                    con = Conexion.agregarConexion();
                    cmd = new SqlCommand(query, con);
                    res = cmd.ExecuteNonQuery();
                    con.Close();
                    return(nuevaCant);
                }
                catch (Exception ex)
                {
                    return(-1);
                }
            }
            else
            {
                return(-1);
            }
        }
        /**
         * el método buscarCliente() busca los datos de un cliente específico por medio de su correo
         * no tiene parámetros
         * no lanza excepciones y regresa una lista de cadenas que representan los datos del cliente
         */
        public String[] buscarCliente()
        {
            String[] res = new String[4];
            String   query;

            query = String.Format("select * from Cliente where correo like '%{0}%' ", correo);
            try
            {
                SqlConnection con;
                SqlDataReader rd;
                con = Conexion.agregarConexion();
                SqlCommand cmd = new SqlCommand(query, con);
                rd = cmd.ExecuteReader();
                if (rd.Read())
                {
                    res[0] = rd.GetInt16(0).ToString(); //la clave es int
                    for (int i = 0; i < 4; i++)
                    {
                        res[i] = rd.GetString(i);
                    }
                }
                con.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("no se encontró: " + correo + ex);
            }
            return(res);
        }
 /**
  * el método estático llenarDisolvente(ComboBox, String) llena una componente de tipo Combobox con los datos recuperados de la
  * base de datos en la columna con el nombre dado de la tabla Disolvente
  * el parámetro "cb" es el comboBox que se va a llenar
  * el parámetro "nombre" de tipo string representa el nombre de la columna en la que se buscarán los datos
  */
 public static void llenarDisolvente(ComboBox cb, String nombre)
 {
     try
     {
         SqlConnection con;
         SqlDataReader rd;
         con = Conexion.agregarConexion();
         SqlCommand cmd = new SqlCommand("select distinct " + nombre + " from Disolvente", con);
         rd = cmd.ExecuteReader();
         while (rd.Read())                        //Con esta instrucción cambia de renglon a renglón
         {
             cb.Items.Add(rd[nombre].ToString()); //Esta instruccion saca de cada renglon el nombre del programa
         }
         cb.SelectedIndex = 0;                    //Para que aparezca la primera opción del ComboBox en la venta
         con.Close();
         rd.Close();
     }
     catch (Exception ex)
     {
     }
 }
        /**
         * el método crearClinete() inserta un cliente nuevo en la base de datos
         * regresa -1 en caso de error o la clave del nuevo cliente en caso de éxito
         */
        public int crearCliente()
        {
            int           res = 0;
            SqlCommand    cmd;
            SqlConnection con;

            String query = String.Format("insert into Cliente (idCliente, nombre, direccion, correo) values ({0}, '{1}', '{2}', '{3}' )", idCliente, nombre, direccion, correo);

            try
            {
                con = Conexion.agregarConexion();
                cmd = new SqlCommand(query, con);
                res = cmd.ExecuteNonQuery();
                con.Close();
            }
            catch (Exception ex)
            {
                res = -1;
            }

            return(res);
        }
        /**
         * el método estático getUltimoCliente() busca el máximo entre los ids de todos los clientes existentes en la base de datos
         * no tiene parámetros
         * regresa el máximo de los id del cliente
         */
        public static int getUltimoCliente()
        {
            int           res   = 0;
            String        query = String.Format("select max(idCliente) from Cliente");
            SqlDataReader rd;

            try
            {
                SqlConnection con;
                con = Conexion.agregarConexion();
                SqlCommand cmd = new SqlCommand(query, con);
                rd = cmd.ExecuteReader();
                if (rd.Read())
                {
                    res = rd.GetInt16(0);
                }
                con.Close();
            }
            catch (Exception ex)
            {
                return(-1);
            }
            return(res);
        }
        /**
         * el método estático getIdDisolvente() busca el id del disolvete de acidez y presentacion dadas
         * los parametros aci y pres repsresentan la acidez y presentacion respectivamente
         * regresa el id del disolvente
         */
        public static int getIdDisolvente(int aci, float pres)
        {
            int           res   = 0;
            String        query = String.Format("select idDisolvente from Disolvente where acidez= {0} and presentacion= {1}", aci, pres);
            SqlDataReader rd;

            try
            {
                SqlConnection con;
                con = Conexion.agregarConexion();
                SqlCommand cmd = new SqlCommand(query, con);
                rd = cmd.ExecuteReader();
                if (rd.Read())
                {
                    res = rd.GetInt16(0);
                }
                con.Close();
            }
            catch (Exception ex)
            {
                return(-1);
            }
            return(res);
        }
Beispiel #11
0
        /**
         * el método buscarCantidad() calcula la cantidad de disolventes que se tienen en existencia de una clave específica
         * no tiene parámetros
         * no lanza excepciones y regresa el numero de disolventes existentes o -1 en caso de error
         */

        public int buscarCantidad()
        {
            int           res   = 0;
            String        query = String.Format("select cantidad from Disolvente where idDisolvente= {0}", idDisolv);
            SqlDataReader rd;

            try
            {
                SqlConnection con;
                con = Conexion.agregarConexion();
                SqlCommand cmd = new SqlCommand(query, con);
                rd = cmd.ExecuteReader();
                if (rd.Read())
                {
                    res = rd.GetInt16(0);
                }
                con.Close();
            }
            catch (Exception ex)
            {
                return(-1);
            }
            return(res);
        }