コード例 #1
0
 private void menu_guardar(object sender, EventArgs e)
 {
     if (tieneDosElementos(elementosLibroDiario))
     {
         if (estaBalanceado(elementosLibroDiario))
         {
             if (mostrarMensajeConfirmacion("esta seguro que quiere guardar el libro diario?").Equals("OK"))
             {
                 for (int i = 0; i < elementosLibroDiario.Count; i++)
                 {
                     ElementoLibroDiario elemento = elementosLibroDiario.ElementAt(i);
                     this.conexion.guardarLibroDiario(elemento);
                 }
             }
         }
         else
         {
             mostrarMensajeError("libro diario no esta valanceado");
         }
     }
     else
     {
         mostrarMensajeError("necesita al menos un elemento en el debe y uno en el haber");
     }
 }
コード例 #2
0
        public bool yaTieneAsiento(string codigo)
        {
            List <ElementoLibroDiario> lista = new List <ElementoLibroDiario>();

            mostrarLibroTotal(lista);
            ElementoLibroDiario cosa = lista.Find(q => q.codigo == codigo);

            return(cosa != null);
        }
コード例 #3
0
 /// <summary>
 /// edita el elemento del index que le pasemos
 /// selecciona el dia automaticamente en base a los datos guardados
 /// previamente en el elemento
 /// </summary>
 /// <param name="index"></param>
 /// <returns></returns>
 private bool editarElemento(int index)
 {
     if (!hayCamposVacios())
     {
         if (codigoEsCorrecto())
         {
             if (this.checkedListBox1.CheckedItems.Count > 0)
             {
                 string monto = textBoxMonto.Text; //monto
                 if (esDecimal(monto))
                 {
                     if (esPositivo(monto))
                     {
                         int dia = int.Parse(labelDia.Text);
                         if (dia == conexion.numeroDelDia())
                         {
                             ElementoLibroDiario elemento2 = crearElemento();
                             //guardamos el elemento en la base de datos
                             this.conexion.editarLibroDiario(index, elemento2);
                             actualizar(elementosLibroDiario);
                             return(true);
                         }
                         else
                         {
                             ElementoLibroDiario elemento2 = crearElemento();
                             lista.RemoveAt(index);
                             lista.Insert(index, elemento2);
                             cargarTabla(lista);
                             return(true);
                         }
                     }
                     else
                     {
                         this.mostrarMensajeError("el monto debe ser positivo mayor a 0");
                     }
                 }
                 else
                 {
                     this.mostrarMensajeError("el monto debe ser un numero");
                 }
             }
             else
             {
                 this.mostrarMensajeError("Debe seleccionar la documentacion respaldatoria.");
             }
         }
         else
         {
             this.mostrarMensajeError("el numero del codigo no es corecto");
         }
     }
     else
     {
         this.mostrarMensajeError("rellene todos los campos para continuar");
     }
     return(false);
 }
コード例 #4
0
 public void cambiarElemento(ElementoLibroDiario nuevo)
 {
     this.nombre      = nuevo.nombre;
     this.fecha       = nuevo.fecha;
     this.monto       = nuevo.monto;
     this.transaccion = nuevo.transaccion;
     this.codigo      = nuevo.codigo;
     this.dia         = nuevo.dia;
     this.documentacionRespaldatoria = nuevo.documentacionRespaldatoria;
 }
コード例 #5
0
        /// <summary>
        /// carga el elemento en los campos de edicion
        /// </summary>
        /// <param name="elemento"></param>
        private void montarEnCampos(ElementoLibroDiario elemento)
        {
            //si no inicializo asi por alguna razon queda en blanco
            this.comboBox1.SelectedIndex         = 1;
            this.comboBoxDebeHaber.SelectedIndex = 1;



            //aca si cargo los elementos
            this.comboBox1.SelectedIndex         = this.comboBox1.FindString(elemento.codigo); //editamos el codigo
            this.textBoxMonto.Text               = elemento.monto;                             //editamos el monto
            this.dateTimePicker1.Value           = elemento.fecha;                             //editamos la fecha
            this.comboBoxDebeHaber.SelectedIndex = elemento.transaccion.Equals("HABER") ? 1 : 0;
            this.checkedListBox1.SelectedItem    = elemento.documentacionRespaldatoria;
        }
コード例 #6
0
        /// <summary>
        /// agrega un registro del libro diario a la base de datos
        /// </summary>
        /// <param name="elemento">registro que vamos a cargar</param>
        internal void guardarLibroDiario(ElementoLibroDiario elemento)
        {
            string documentacion = elemento.documentacionRespaldatoria;
            int    folio         = elemento.folio;
            string codigo        = elemento.codigo;
            string fecha         = elemento.fecha.ToString();
            string nombre        = elemento.nombre;
            string monto         = elemento.monto;
            string transaccion   = elemento.transaccion;
            int    index         = elemento.index;
            string descripcion   = elemento.descripcion;
            int    dia           = elemento.dia;



            try
            {
                conectar();
                string sql = "insert into LibrosDiarios(folio, codigo, fecha, nombre, monto, transaccion, documentacion, asentado, indice, descripcion, dia)" +
                             " values (" + folio + ",'" + codigo + "','" + fecha + "','" + nombre + "','" + monto + "','" +
                             transaccion + "','" + documentacion + "'," + false + "," + index + ", '" + descripcion + "'," + dia + ");";

                SqliteCommand command = new SqliteCommand(sql, this.Connection);

                try
                {
                    command.ExecuteNonQuery();//cargamos los datos
                }
                catch (Exception e)
                {
                    command.Connection.Close();
                    mostrarMensaje(e.ToString());
                    throw new Exception(" " + e);
                }

                command.Connection.Close();
                close();
            }
            catch (Exception ex)
            {
                throw new Exception("no se ha podido realizar la conexion: " + ex);
            }
            finally
            {
                close();
            }
        }
コード例 #7
0
        private void BuscarConEnter(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                int index = int.Parse(this.textBoxEditar.Text) - 1;
                if ((index < elementosLibroDiario.Count) && (index > -1))
                {
                    ElementoLibroDiario elemento = elementosLibroDiario.ElementAt(index);
                    this.comboBox1.SelectedIndex = this.comboBox1.FindString(elemento.codigo); //editamos el codigo

                    this.textBoxMonto.Text     = elemento.monto;                               //editamos el monto
                    this.dateTimePicker1.Value = elemento.fecha;                               //editamos la fecha

                    this.comboBoxDebeHaber.SelectedIndex = (elemento.transaccion.Equals("DEBE")) ? 1 : 0;
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// toma el contenido de todos los campos y crea un nuevo elemento del libro diario
        /// </summary>
        /// <returns></returns>
        public ElementoLibroDiario crearElemento()
        {
            string   monto       = this.textBoxMonto.Text;
            string   nombre      = this.textnombre.Text;           //nombre
            string   id          = this.comboBox1.Text.ToString(); //numero
            DateTime fecha       = this.dateTimePicker1.Value;     //fecha
            string   transaccion = this.comboBoxDebeHaber.Text;    //si es debe o haber
            int      dia         = int.Parse(this.labelDia.Text);
            string   documentacionRespaldatoria = crearDocumentacionRespaldatoria();
            int      index = elementosLibroDiario.Count;


            //creamos el objeto y lo agregamos a la lista
            ElementoLibroDiario elemento = new ElementoLibroDiario(dia, this.darId(id), fecha, nombre, monto, transaccion, documentacionRespaldatoria, index);

            return(elemento);
        }
コード例 #9
0
        /// <summary>
        /// realiza la lectura de la base de datos y la carga en la lista
        /// </summary>
        /// <param name="consulta"></param>
        /// <param name="elementosLibroDiario"></param>
        private void leerLibroDiario(string consulta, List <ElementoLibroDiario> elementosLibroDiario)
        {
            SqliteCommand command = new SqliteCommand(consulta, Connection);

            try
            {
                SqliteDataReader lector = command.ExecuteReader();

                while (lector.Read())
                {
                    //folio,codigo,fecha,monto,transaccion
                    int      folio       = lector.GetInt32(0);
                    string   codigo      = lector.GetString(1);
                    DateTime fecha       = DateTime.Parse(lector.GetString(2));
                    string   nombre      = lector.GetString(3);
                    string   monto       = lector.GetString(4);
                    string   transaccion = lector.GetString(5);
                    string   documentacionRespaldatoria = lector.GetString(6);
                    int      index       = lector.GetInt32(8);
                    string   descripcion = lector.GetString(9);
                    int      dia         = lector.GetInt32(10);



                    ElementoLibroDiario elementoLibroDiario = new ElementoLibroDiario(folio, codigo, fecha, nombre, monto, transaccion, documentacionRespaldatoria, index, dia, descripcion);
                    elementosLibroDiario.Add(elementoLibroDiario);
                }

                lector.Close();
                command.Connection.Close();
            } catch (Exception e)
            {
                command.Connection.Close();
                throw new Exception("no se pudo realizar la coneccion: " + e);
            }
            finally
            {
                command.Connection.Close();
            }
        }
コード例 #10
0
        /// <summary>
        /// edita un registro del libro diario que tenga el index
        /// </summary>
        /// <param name="index"></param>
        /// <param name="elemento"></param>
        public void editarLibroDiario(int index, ElementoLibroDiario elemento)
        {
            string documentacion = elemento.documentacionRespaldatoria;
            string codigo        = elemento.codigo;
            string fecha         = elemento.fecha.ToString();
            string nombre        = elemento.nombre;
            string monto         = elemento.monto;
            string transaccion   = elemento.transaccion;
            int    dia           = elemento.dia;

            try
            {
                conectar();
                string sql = "update LibrosDiarios set codigo = '" + codigo + "', fecha = '" + fecha + "', nombre = '" + nombre + "', monto = '" + monto + "'" +
                             ", transaccion = '" + transaccion + "', documentacion = '" + documentacion + "' where dia = " + dia + " and indice = " + index;
                SqliteCommand command = new SqliteCommand(sql, this.Connection);

                try
                {
                    command.ExecuteNonQuery();
                    command.Connection.Close();
                }
                catch (Exception e)
                {
                    throw new Exception("Error: " + e);
                }
                finally
                {
                    close();
                }
            }
            catch (Exception e)
            {
                throw new Exception("Error: " + e);
            }
        }
コード例 #11
0
 /// <summary>
 ///  crea elementos con los datos en los campos y los carga a la base de datos
 /// </summary>
 private void agregarElemento()
 {
     if (!hayCamposVacios())
     {
         if (this.checkedListBox1.CheckedItems.Count > 0)
         {
             if (primerNumeroValido())
             {
                 if (codigoEsCorrecto())
                 {
                     string monto = textBoxMonto.Text; //monto
                     if (!monto.Contains("."))
                     {
                         if (esDecimal(monto))
                         {
                             if (esPositivo(monto))
                             {
                                 ElementoLibroDiario elemento = crearElemento();  //creamos el objeto y lo agregamos a la lista
                                 if (int.Parse(this.labelDia.Text) == conexion.numeroDelDia())
                                 {
                                     this.conexion.guardarLibroDiario(elemento);//guardamos el objeto en la base de datos
                                     actualizar(elementosLibroDiario);
                                 }
                                 else
                                 {
                                     lista.Add(elemento);
                                     cargarTabla(lista);
                                 }
                             }
                             else
                             {
                                 this.mostrarMensajeError("El monto debe ser positivo mayor a 0.");
                             }
                         }
                         else
                         {
                             this.mostrarMensajeError("El monto debe ser un numero.");
                         }
                     }
                     else
                     {
                         this.mostrarMensajeError("el monto debe ir con coma, no con punto.");
                     }
                 }
                 else
                 {
                     preguntarSiAgregar();
                 }
             }
             else
             {
                 mostrarMensajeError("el primer caracter de tu codigo debe estar entre el 1 y el 7 en referencia a su grupo:\n\n" +
                                     "\t1. Activo\n" +
                                     "\t2. Pasivo\n" +
                                     "\t3. Patrimonio Neto\n" +
                                     "\t4. Resultados Positivos\n" +
                                     "\t5. Resultados Negativos\n" +
                                     "\t6. Orden\n" +
                                     "\t7. Movimiento");
             }
         }
         else
         {
             this.mostrarMensajeError("Debe seleccionar la documentacion respaldatoria.");
         }
     }
     else
     {
         this.mostrarMensajeError("Debe rellenar todos los campos.");
     }
 }
コード例 #12
0
        private void buttonBuscar_Click(object sender, EventArgs e)
        {
            if (this.comboBoxDebeHaber.Enabled == false)
            {
                if (this.textBoxEditar.Text.Any())
                {
                    if (this.esDecimal(this.textBoxEditar.Text))
                    {
                        this.index = int.Parse(this.textBoxEditar.Text) - 1;
                        int dia = int.Parse(labelDia.Text);
                        if (dia == conexion.numeroDelDia())
                        {
                            if ((this.index < elementosLibroDiario.Count) && (this.index >= 0))
                            {
                                ElementoLibroDiario elemento = elementosLibroDiario.ElementAt(this.index);
                                cambiarHabilitacionAgregar(true); //si encuentra el indice habilita la edicion en los campos

                                montarEnCampos(elemento);         //luego carga el elemento en los campos
                                this.groupBox.Show();             //muestra botones para guardar o cancelar
                                this.buttonBorrar.Show();         //muestra el boton de borrar
                            }
                            else
                            {
                                mostrarMensajeError("el indice indicado no existe");
                                this.groupBox.Hide();
                                this.buttonBorrar.Hide();
                            }
                        }
                        else
                        {
                            if ((this.index < lista.Count) && (this.index >= 0))
                            {
                                ElementoLibroDiario elemento = lista.ElementAt(this.index);
                                cambiarHabilitacionAgregar(true); //si encuentra el indice habilita la edicion en los campos

                                montarEnCampos(elemento);         //luego carga el elemento en los campos
                                this.groupBox.Show();             //muestra botones para guardar o cancelar
                                this.buttonBorrar.Show();         //muestra el boton de borrar
                            }
                            else
                            {
                                mostrarMensajeError("el indice indicado no existe");
                                this.groupBox.Hide();
                                this.buttonBorrar.Hide();
                            }
                        }
                    }
                    else
                    {
                        mostrarMensajeError("debe ingresar un numero");
                    }
                }
                else
                {
                    mostrarMensajeError("debe ingresar el index que desea editar");
                }
            }
            else
            {
                string decision = mostrarMensajeConfirmacion("seguro que quiere buscar sin guardar los cambios?");
                if (decision.Equals("OK"))
                {
                    cambiarHabilitacionAgregar(false); //deshabilito los controles de agregar
                    buttonBuscar_Click(sender, e);     //llamo devuelta a la funcion
                }
            }
        }