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"); } }
public bool yaTieneAsiento(string codigo) { List <ElementoLibroDiario> lista = new List <ElementoLibroDiario>(); mostrarLibroTotal(lista); ElementoLibroDiario cosa = lista.Find(q => q.codigo == codigo); return(cosa != null); }
/// <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); }
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; }
/// <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; }
/// <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(); } }
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; } } }
/// <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); }
/// <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(); } }
/// <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); } }
/// <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."); } }
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 } } }