Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            // evento
            AppDomain.CurrentDomain.ProcessExit += AcciondelEvento;

            AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(100, 1000, 1);

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.Title("Bienvenidos");
            var reporteador        = new Reporteador(engine.GetDiccionarioOjetos());
            var evalList           = reporteador.GetListaEvaluaciones();
            var asigList           = reporteador.GetListaAsignaturas();
            var listEvaluaCAsignat = reporteador.GetDicdeEvalxAsignatura();
            var listPromedios      = reporteador.GetpromedioAlumnosXAsignatura();

            Printer.Title("Reportes: ");
            var    newEval = new Evaluacion();
            string nombre, notaString;


            Console.WriteLine("Escriba su nombre y ");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();

            if (string.IsNullOrEmpty(nombre))
            {
                Printer.Title("El Valor del nombre no puede ser vacio");
                Console.WriteLine("Saliendo del programa");
            }
            else
            {
                try
                {
                    newEval.Nombre = nombre.ToLower();
                    WriteLine("El nombre de la evaluacion ha sido ingresado!");
                }
                catch
                {
                    Printer.Title("El Valor del nombre no puede ser vacio");
                    Console.WriteLine("Saliendo del programa");
                }
            }

            Console.WriteLine("Escriba la nota de la evaluacion ");
            Printer.PresioneEnter();
            notaString = Console.ReadLine();

            if (string.IsNullOrEmpty(notaString))
            {
                Printer.Title("El Valor de la nota no puede ser vacio");
                Console.WriteLine("Saliendo del programa");
            }
            else
            {
                try
                {
                    newEval.Nota = float.Parse(notaString);
                    if (newEval.Nota < 0 || newEval.Nota > 5)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe estar entre 0 y 5...");
                    }
                    WriteLine("La nota ha sido ingresada!");
                }
                catch (ArgumentOutOfRangeException arge)
                {
                    Printer.Title(arge.Message);
                    Console.WriteLine("Saliendo del programa");
                }
                catch (Exception)
                {
                    Printer.Title("El Valor de la nota no puede ser vacio");
                    Console.WriteLine("Saliendo del programa");
                }
                finally
                {
                    Printer.Title("Finalmente");
                    Printer.Beep(5000, 1000, 3);
                }
            }

            Dictionary <int, string> dicccionario = new Dictionary <int, string>();

            dicccionario.Add(10, "Juan");

            dicccionario.Add(11, "Yonathan");

            foreach (var keyValPair in dicccionario)
            {
                WriteLine($"Key: {keyValPair.Key} Valor: {keyValPair.Value}");
            }

            var dictmp = engine.GetDiccionarioOjetos();

            engine.ImprimirDiccionario(dictmp, true);

            /* Printer.Title("Acceso al diccionario");
             * dicccionario[0] = "Pekerman";
             * WriteLine(dicccionario[0]); // accediendo al valor por medio de la llave dentro del diccionario
             * Printer.Title("Otro diccionario");
             *
             * var dic = new Dictionary<string, string>();
             *
             * dic["luna"] = "satelite de la tierra";
             * WriteLine(dic["luna"]); */
            // dic.Add("luna", "personaje de tv");
            // WriteLine(dic["luna"]); // en este caso no sirve porque una cosa es remplazar el valor de la llave y otra adicionar una llave igual...
        }