Example #1
0
        // Función para agregar una categoría
        public int agregarCategoria()
        {
            // La categoría la leemos del tbAgregarCategoria
            string _categoria = tbAgregarCategoria.Text;
            // Creamos un objeto llamado oConexion con el que nos
            // conectaremos a la base de datos
            miConexion oConexion = new miConexion();

            // El procedure que tenemos en la base de datos nos exige
            // algunos parametros para poder insertar una categoria
            // por esa razón vamos a usar una lista de tipo SqlParameter
            // que se llamara parametros
            List <SqlParameter> parametros = new List <SqlParameter>();

            // Creamos un nuevo parametro llamado categoria
            SqlParameter Categoria = new SqlParameter()

            {
                Value         = _categoria,
                ParameterName = "nombre"
            };

            // Lo agregamos a la lista llamada parametros
            parametros.Add(Categoria);

            int exito = oConexion.EjecutaNonQuery("agregarCategoria", parametros);

            return(exito);
        }
Example #2
0
        // Función para cargar datos en el DataGridView
        public void cargardgvResultados()
        {
            miConexion oConexion = new miConexion();

            // Se entiende como movimientos los ingresos y egresos que realizamos
            // con nuestro dinero, en esta función mediante el procedure mostrarMovimientos
            // mostramos en el dataGridView TODOS los movimientos hechos
            dgvResultados.DataSource = oConexion.ObtenerDatos("mostrarMovimientos");
        }
Example #3
0
        // Función para cargar categorias en un combobox
        public List <string> cargarCategorias()
        {
            // Creamos un objeto llamado oConexion con el que nos
            // conectaremos a la base de datos
            miConexion oConexion = new miConexion();
            // Traer Datos nos regresa las diferentes categorías y las guardamos en una lista
            // que se llama Datos
            List <string> Datos = oConexion.TraerDatos("mostrarCategoria");

            // Después, esta lista llamada Datos la usamos para llenar el combobox
            // usaremos return para que ese dato lo tome posteriormente el combobox
            return(Datos);
        }
Example #4
0
        // Función para modificar una categoría
        public void modificarCategoria()
        {
            int indice = dgvResultados.CurrentRow.Index;
            // Elegimos del indice actual y la columna/celda 0
            string       _viejaCategoria = dgvResultados.Rows[indice].Cells[0].Value.ToString();
            string       _nuevaCategoria = tbAgregarCategoria.Text;
            DialogResult respuesta       = MessageBox.Show("¿Está seguro que desea cambiar " + _nuevaCategoria.ToUpper() + " por " +
                                                           _viejaCategoria.ToUpper(), "Alerta", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);

            // Si la respuesta es Aceptar entonces modificamos
            // Caso contrario no hacemos nada :)
            if (respuesta == DialogResult.OK)
            {
                miConexion oConexion = new miConexion();

                List <SqlParameter> parametros = new List <SqlParameter>();

                // Parametros
                #region
                SqlParameter viejaCategoria = new SqlParameter()

                {
                    Value         = _viejaCategoria,
                    ParameterName = "viejaCategoria"
                };

                parametros.Add(viejaCategoria);

                SqlParameter nuevaCategoria = new SqlParameter()

                {
                    Value         = _nuevaCategoria,
                    ParameterName = "nuevaCategoria"
                };

                parametros.Add(nuevaCategoria);

                #endregion
                // EjecutaNonQuery se utiliza para actualizar, eliminar e insertar
                // en este caso vamos a insertar/agregar además le agregamos los parametros
                // que necesita el procedimiento para que se ejecute correctamente
                oConexion.EjecutaNonQuery("modificarCategoria", parametros);
                consultarCategoria();
            } // Termina if
        }
Example #5
0
        // Función para eliminar categoría
        public void eliminarCategoria()
        {
            string _categoria = tbAgregarCategoria.Text;

            miConexion oConexion = new miConexion();

            List <SqlParameter> parametros = new List <SqlParameter>();

            // Parametros
            #region
            SqlParameter Categoria = new SqlParameter()

            {
                Value         = _categoria,
                ParameterName = "nombre"
            };
            parametros.Add(Categoria);
            #endregion
            oConexion.EjecutaNonQuery("eliminarCategoria", parametros);
        }
Example #6
0
        private void dgvResultados_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            string   nombre_actual    = dgvResultados.CurrentRow.Cells[0].Value.ToString();
            string   concepto_actual  = dgvResultados.CurrentRow.Cells[1].Value.ToString();
            decimal  cantidad_actual  = Convert.ToDecimal(dgvResultados.CurrentRow.Cells[2].Value);
            string   categoria_actual = dgvResultados.CurrentRow.Cells[3].Value.ToString();
            DateTime fecha_actual     = Convert.ToDateTime(dgvResultados.CurrentRow.Cells[4].Value);

            MessageBox.Show(nombre_actual + " " + concepto_actual);

            miConexion oConexion = new miConexion();

            List <SqlParameter> parametros = new List <SqlParameter>();

            // Parametros variable_anterior
            #region
            SqlParameter nombre_Anterior = new SqlParameter()

            {
                Value         = nombre_anterior,
                ParameterName = "nombre_anterior"
            };

            parametros.Add(nombre_Anterior);

            SqlParameter concepto_Anterior = new SqlParameter()

            {
                Value         = concepto_anterior,
                ParameterName = "concepto_Anterior"
            };

            parametros.Add(concepto_Anterior);

            SqlParameter cantidad_Anterior = new SqlParameter()

            {
                Value         = cantidad_anterior,
                ParameterName = "cantidad_Anterior"
            };

            parametros.Add(cantidad_Anterior);

            SqlParameter categoria_Anterior = new SqlParameter()

            {
                Value         = categoria_anterior,
                ParameterName = "categoria_Anterior"
            };

            parametros.Add(categoria_Anterior);

            SqlParameter fecha_Anterior = new SqlParameter()

            {
                Value         = fecha_anterior,
                ParameterName = "fecha_Anterior"
            };

            parametros.Add(fecha_Anterior);

            #endregion

            // Parametros variable_actual
            #region
            SqlParameter nombre_Actual = new SqlParameter()

            {
                Value         = nombre_actual,
                ParameterName = "nombre_actual"
            };

            parametros.Add(nombre_Actual);

            SqlParameter concepto_Actual = new SqlParameter()

            {
                Value         = concepto_actual,
                ParameterName = "concepto_Actual"
            };

            parametros.Add(concepto_Actual);

            SqlParameter cantidad_Actual = new SqlParameter()

            {
                Value         = cantidad_actual,
                ParameterName = "cantidad_Actual"
            };

            parametros.Add(cantidad_Actual);

            SqlParameter categoria_Actual = new SqlParameter()

            {
                Value         = categoria_actual,
                ParameterName = "categoria_Actual"
            };

            parametros.Add(categoria_Actual);

            SqlParameter fecha_Actual = new SqlParameter()

            {
                Value         = fecha_actual,
                ParameterName = "fecha_Actual"
            };

            parametros.Add(fecha_Actual);
            #endregion
            // EjecutaNonQuery se utiliza para actualizar, eliminar e insertar
            // en este caso vamos a insertar/agregar además le agregamos los parametros
            // que necesita el procedimiento para que se ejecute correctamente
            oConexion.EjecutaNonQuery("modificarCategoria", parametros);
        }
Example #7
0
        // Función para consultar las categorías
        public void consultarCategoria()
        {
            miConexion oConexion = new miConexion();

            dgvResultados.DataSource = oConexion.ObtenerDatos("mostrarCategoria");
        }
Example #8
0
        // Función para consultar ingresos y egresos
        public void consultarMovimiento()
        {
            string _concepto     = "";
            string _cantidad     = "";
            string _tipo         = "";
            string _categoria    = "";
            string _fechaInicial = dtpFechaInicial.Value.ToShortDateString();
            string _fechaFinal   = dtpFechaFinal.Value.ToShortDateString();

            // Validaciones para evitar errores, campos vacíos, etc
            #region
            // El procedimiento que vamos a usar para hacer consultas necesita 5 parametros que
            // son las variables declaradas arriba, por default los textbox que corresponden
            // concepto, cantidad y el tipo de ingreso/egreso están vacios así como fecha inicial y final
            // Vamos a darle al usuario la posibilidad de buscar de todas las formas posibles
            // En caso de que no quiera poner ni concepto, ni cantidad, ni tipo puede hacerlo
            // solamente con las fechas (estas son indispensables segun nuestro procedimiento
            // que puedes consultar en la base de datos así que no puedes dejarlas vacías)
            // Otra opción es solamente buscar con el concepto y fecha inicial-final
            // Todas las posibilidades las puedes encontrar en el procedure mostrarMovimientosSegun
            // En caso de que uno de los textbox concepto, cantidad, tipo estén vacios, nulos o
            // estén llenos de puros espacios automáticamente mediante las siguientes validaciones
            // vamos a asignarle el valor "" el cual en nuestro procedure nos servirá para detectar
            // que el usuario NO QUIERE buscar en función de dichos datos
            // Por el contrario si el usuario ingresó en los textbox algo correcto o elige un dato
            // del combobox categoría, el procedure detectará que el usuario SÍ QUIERE buscar
            // en función de dichos datos

            if (rbIngreso.Checked)
            {
                _tipo = "1";
            }

            if (rbEgreso.Checked)
            {
                _tipo = "2";
            }

            if (rbAmbosConsultar.Checked)
            {
                _tipo = "3";
            }

            // Verificamos si está vacío o null o lleno de puros espacios el textbox
            if (string.IsNullOrEmpty(tbConceptoConsultar.Text) || string.IsNullOrWhiteSpace(tbConceptoConsultar.Text))
            {
                // Si cumple alguno de esos casos entonces diremos que _concepto
                // tiene una cadena vacía
                _concepto = "";
            }
            else
            {
                // Si escribimos correctamente los datos entonces _concepto valdrá
                // lo que hayamos escrito en el textbox
                _concepto = tbConceptoConsultar.Text;
            }

            if (string.IsNullOrEmpty(tbCantidadConsultar.Text) || string.IsNullOrWhiteSpace(tbCantidadConsultar.Text))
            {
                // Si cumple alguno de esos casos entonces diremos que _cantidad
                // tiene una cadena vacía
                _cantidad = "";
            }

            else
            {
                // Si escribimos correctamente los datos entonces _cantidad valdrá
                // lo que hayamos escrito en el textbox
                _cantidad = tbCantidadConsultar.Text;
            }

            if (cbCategoriaConsultar.Items.Count <= 0)
            {
                // Si no hemos dado click en el combobox _tipo
                // tendrá una cadena vacía
                _categoria = "";
            }
            else
            {
                // Si damos click y elegimos un dato del combobox
                // este será el valor de _tipo
                _categoria = cbCategoriaConsultar.SelectedItem.ToString();
            }
            #endregion

            miConexion oConexion = new miConexion();

            List <SqlParameter> parametros = new List <SqlParameter>();

            // Parametros
            #region
            SqlParameter Concepto = new SqlParameter()

            {
                Value         = _concepto,
                ParameterName = "concepto"
            };

            parametros.Add(Concepto);

            SqlParameter Cantidad = new SqlParameter()

            {
                Value         = _cantidad,
                ParameterName = "cantidad"
            };

            parametros.Add(Cantidad);

            SqlParameter Categoria = new SqlParameter()

            {
                Value         = _categoria,
                ParameterName = "categoria"
            };

            parametros.Add(Categoria);

            SqlParameter Tipo = new SqlParameter()

            {
                Value         = _tipo,
                ParameterName = "tipo"
            };

            parametros.Add(Tipo);

            SqlParameter FechaInicial = new SqlParameter()

            {
                Value         = _fechaInicial,
                ParameterName = "fechaInicial"
            };

            parametros.Add(FechaInicial);

            SqlParameter FechaFinal = new SqlParameter()

            {
                Value         = _fechaFinal,
                ParameterName = "fechaFinal"
            };

            parametros.Add(FechaFinal);
            #endregion

            // TraerDatosConParametros es un método para llamar a un procedure que necesite
            // parametros y que dicho procedure sea para realizar CONSULTAS, es decir un SELECT
            dgvResultados.DataSource = oConexion.TraerDatosConParametros("mostrarMovimientosSegun", parametros);
        }
Example #9
0
        // Función para agregar un Egreso que hayamos tenido egreso significa gastar dinero
        // el valor del parámetro TIPO será 2, lo que para nosotros represnta Egreso
        public void agregarEgreso()
        {
            string  _concepto  = tbConcepto.Text;
            decimal _cantidad  = Convert.ToDecimal(tbCantidad.Text);
            string  _categoria = cbCategoriaRegistro.SelectedItem.ToString();
            string  _fecha     = dtpRegistro.Value.ToShortDateString();

            miConexion oConexion = new miConexion();

            List <SqlParameter> parametros = new List <SqlParameter>();

            // Parametros
            #region
            SqlParameter Concepto = new SqlParameter()

            {
                Value         = _concepto,
                ParameterName = "concepto"
            };

            parametros.Add(Concepto);

            SqlParameter Cantidad = new SqlParameter()

            {
                Value         = _cantidad,
                ParameterName = "cantidad"
            };

            parametros.Add(Cantidad);

            SqlParameter Categoria = new SqlParameter()

            {
                Value         = _categoria,
                ParameterName = "categoria"
            };

            parametros.Add(Categoria);


            SqlParameter Tipo = new SqlParameter()

            {
                Value         = 2, // 2 significa egreso
                ParameterName = "tipo"
            };

            parametros.Add(Tipo);


            SqlParameter Fecha = new SqlParameter()

            {
                Value         = _fecha,
                ParameterName = "fecha"
            };

            parametros.Add(Fecha);
            #endregion
            // EjecutaNonQuery se utiliza para actualizar, eliminar e insertar
            // en este caso vamos a insertar/agregar además le agregamos los parametros
            // que necesita el procedimiento para que se ejecute correctamente
            oConexion.EjecutaNonQuery("agregarMovimiento", parametros);
        }
Example #10
0
        // Función para agregar un Ingreso que hayamos tenido ingreso significa ganar dinero
        // el valor del parámetro TIPO será 1, lo que para nosotros represnta Ingreso
        public void agregarIngreso()
        {
            string  _concepto  = tbConcepto.Text;
            decimal _cantidad  = Convert.ToDecimal(tbCantidad.Text);          // Convertimos a decimal (dinero)
            string  _categoria = cbCategoriaRegistro.SelectedItem.ToString(); // Para leer lo que seleccionamos en el combobox
            // Cuando queremos leer de un dataGridView el valor seleccionado usamos solamente
            // esto nombreDeMiDataGridView.Value sin embargo esto nos arroja tanto la fecha como la hora
            // nosotros solamente necesitamos la fecha por eso agregamos .ToShortDateString()
            string _fecha = dtpRegistro.Value.ToShortDateString();

            miConexion oConexion = new miConexion();

            List <SqlParameter> parametros = new List <SqlParameter>();

            // Parametros
            #region
            SqlParameter Concepto = new SqlParameter()

            {
                Value         = _concepto,
                ParameterName = "concepto"
            };

            parametros.Add(Concepto);

            SqlParameter Cantidad = new SqlParameter()

            {
                Value         = _cantidad,
                ParameterName = "cantidad"
            };

            parametros.Add(Cantidad);

            SqlParameter Categoria = new SqlParameter()

            {
                Value         = _categoria,
                ParameterName = "categoria"
            };

            parametros.Add(Categoria);


            SqlParameter Tipo = new SqlParameter()

            {
                Value         = 1, // 1 significa ingreso
                ParameterName = "tipo"
            };

            parametros.Add(Tipo);


            SqlParameter Fecha = new SqlParameter()

            {
                Value         = _fecha,
                ParameterName = "fecha"
            };

            parametros.Add(Fecha);
            #endregion
            // EjecutaNonQuery se utiliza para actualizar, eliminar e insertar
            // en este caso vamos a insertar/agregar además le agregamos los parametros
            // que necesita el procedimiento para que se ejecute correctamente
            oConexion.EjecutaNonQuery("agregarMovimiento", parametros);
        }