public static LibroDiario IngresoAsientosContables( LibroDiario libroDiario, PlanCuentas planCuentas, string Mensaje = "Ingrese asiento contable" ) { Console.WriteLine("\n"); bool salida = false; do { Console.WriteLine("\t" + Mensaje); int nroAsiento = libroDiario.ProximoNumeroAsiento; string fecha = Input.IngresoFecha("Ingrese la fecha del asiento a cargar."); AsientoContable asientoContable = new AsientoContable(nroAsiento, fecha); CustomInput.IngresoLineasAsiento(asientoContable, planCuentas); salida = Input.IngresoVerdaderoFalso("¿Desea ingresar otro asiento?"); if (asientoContable.balance() == 0) { libroDiario.agregarAsientoContable(asientoContable); } } while (salida); return(libroDiario); }
public static List <PlanCuentas> CargarComboBoxPlanCuentas() { List <PlanCuentas> lista = new List <PlanCuentas>(); NpgsqlConnection conexion = ClsObtenerConexion.Conexion(); conexion.Open(); string cadenaSql = null; cadenaSql += "SELECT \"pctId\",\"pctCuenta\"||' - '||\"pctNombre\"||' - ['||\"pctVidaUtilAnios\"||']' AS NombreDelArea "; cadenaSql += "FROM \"PlanCuentas\" "; cadenaSql += "ORDER BY substr(\"pctNombre\", POSITION(' - ' IN \"pctNombre\"))"; NpgsqlCommand cmd = new NpgsqlCommand(cadenaSql, conexion); NpgsqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { PlanCuentas pPlanCuentas = new PlanCuentas { PctId = Convert.ToInt32(dr[0]), PctNombre = Convert.ToString(dr[1]), }; lista.Add(pPlanCuentas); } dr.Close(); conexion.Close(); //cb.SelectedIndex = 0; return(lista); }
public static Cuenta IngresoCuentaContable(PlanCuentas planCuentas) { Cuenta cuenta; do { int codigoCuenta = Input.IngresoNumeroPositivo("Ingrese un código de la cuenta contable válido"); cuenta = planCuentas.buscarCuenta(codigoCuenta); } while (!planCuentas.existeCuenta(cuenta)); return(cuenta); }
public static AsientoContable IngresoLineasAsiento(AsientoContable asientoContable, PlanCuentas planCuentas) { Console.WriteLine("\tIngrese las lineas del asiento"); bool salida = true; do { Cuenta cuenta = CustomInput.IngresoCuentaContable(planCuentas); TipoMovimiento columna = CustomInput.IngresoTipoColumna(); int importe = Input.IngresoNumeroPositivo("Ingrese el monto"); salida = Input.IngresoVerdaderoFalso("¿Desea continuar la carga de lineas?"); asientoContable.agregarLinea( new LineaAsientoContable(cuenta, importe, columna) ); if ( asientoContable.balance() != 0 && !salida ) { Input.WriteYellowLine($"ATENCION"); Input.WriteYellowLine($"El asiento es inconsistente, el balance actual es de {asientoContable.balance()}."); Input.WriteYellowLine($"Si no agrega otra linea el asiento será descartado."); salida = Input.IngresoVerdaderoFalso("¿Desea continuar la carga de lineas?"); } } while (salida); return(asientoContable); }