static void Main(string[] args) { string opcion; bool salir = false; Console.WriteLine("BIENVENIDO AL SISTEMA DE GESTIÓN DE ASIENTOS CONTABLES.\n"); LibroDiario.IniciarPlanDeCuentas(); LibroDiario.IniciarDiario(); Console.ReadKey(); Console.WriteLine(); Console.WriteLine("--------------------------------------------------"); Console.WriteLine(" Menú principal "); Console.WriteLine("--------------------------------------------------"); Console.WriteLine("1 - Ingresar asientos contables."); Console.WriteLine("2 - Visualizar libro diario."); Console.WriteLine("3 - Salir.\n"); Console.WriteLine("--------------------------------------------------"); do { Console.Write("Ingrese una opción del menú y presione [Enter]: "); opcion = Console.ReadLine().ToUpper(); switch (opcion) { case "1": LibroDiario.AgregarAsiento(); break; case "2": Console.WriteLine("\n LIBRO DIARIO\n"); LibroDiario.VisualizarLibroDiario(); Console.WriteLine("\n-----Presione [Enter] para volver a seleccionar otra opción del menú-----"); Console.ReadKey(); break; case "3": salir = true; break; default: Console.WriteLine("No ha ingresado una opción del menú. Por favor, intente nuevamente."); Console.WriteLine(); break; } } while (!salir); }
public Asientos(int numero) { Numero = numero; Fecha = DateTime.Now; bool salir = false; int codigo; double debe = 0; double haber = 0; double totalDebe = 0; double totalHaber = 0; Dictionary <int, double> DebeTemporal = new Dictionary <int, double>(); Dictionary <int, double> HaberTemporal = new Dictionary <int, double>(); do { bool continuar = true; string deseaContinuar; Console.WriteLine("\n PLAN DE CUENTAS\n"); LibroDiario.ImprimirPlanDeCuentas(); do { debe = 0; haber = 0; codigo = Funcionalidades.Codigo($"\nIngrese el código de cuenta del DEBE:"); if (!LibroDiario.PlanDeCuentas.ContainsKey(codigo)) { Console.WriteLine($"El codigo '{codigo}' no está asociado a ninguna cuenta dentro del Plan de cuentas. Por favor, intente nuevamente."); Console.ReadKey(); } else { debe = Funcionalidades.NumeroPositivo($"Ingrese el monto para el código '{codigo}':"); deseaContinuar = Funcionalidades.SeguirIngresando("¿Desea ingresar más cuentas dentro del DEBE?. Ingrese (S)--> SI o (N)--> NO."); if (deseaContinuar == "N") { continuar = false; } DebeTemporal.Add(codigo, debe); totalDebe += debe; } } while (continuar == true); continuar = true; do { debe = 0; haber = 0; codigo = Funcionalidades.Codigo($"\nIngrese el código de cuenta del HABER:"); if (!LibroDiario.PlanDeCuentas.ContainsKey(codigo)) { Console.WriteLine($"El código '{codigo}' no está asociado a ninguna cuenta dentro del Plan de cuentas. Intente nuevamente..."); Console.ReadKey(); } else { haber = Funcionalidades.NumeroPositivo($"Ingrese el monto para el código '{codigo}':"); deseaContinuar = Funcionalidades.SeguirIngresando("¿Desea ingresar más cuentas dentro del HABER?. Ingrese (S)--> SI o (N)--> NO."); if (deseaContinuar == "N") { continuar = false; } HaberTemporal.Add(codigo, haber); totalHaber += haber; } } while (continuar == true); if (totalDebe != totalHaber) { Console.WriteLine($"ERROR: El DEBE ({totalDebe}) no es IGUAL al HABER ({totalHaber}). Por favor, intente nuevamente."); Console.ReadKey(); DebeTemporal.Clear(); HaberTemporal.Clear(); totalDebe = 0; totalHaber = 0; } else { salir = true; Debe = DebeTemporal; Haber = HaberTemporal; } } while (salir == false); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"Se ha creado el asiento Nº{Numero}."); Console.ResetColor(); Console.ReadKey(); Console.Clear(); }