示例#1
0
        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);
        }
示例#2
0
        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();
        }