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...
        }
Exemple #2
0
        static void Main(string[] args)
        {
            //Event = dispara las acciones
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(2000, 1000, 1);
            //AppDomain.CurrentDomain.ProcessExit -= AccionDelEvento;

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");
            //Printer.Beep(10000, cantidad: 10);
            //ImprimirCursosEscuela(engine.Escuela);

            var reporteador = new Reporteador(engine.GetDiccionarioObjetos());
            //var reporteador = new Reporteador(null);
            var evalList        = reporteador.GetListaEvaluaciones();
            var asgList         = reporteador.GetListaAsignaturas();
            var listaEvalXAsig  = reporteador.GetDiccionarioEvalXAsig();
            var listaPromeXAsig = reporteador.GetPromedioAlumnoPorAsignatura();

            Printer.WriteTitle("Captura de una Evaluacion por Consola");
            var    newEval = new Evaluacion();
            string nombre, notaString;
            float  nota;

            WriteLine("Ingrese el nombre de la evaluación");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(nombre))
            {
                //throw new ArgumentException("El valor del nombre no puede ser vacio");
                Printer.WriteTitle("El valor del nombre no puede ser vacio");
                WriteLine("SALIENDO DEL PROGRAMA");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre de la evaluación ha sido ingresado correctamente");
            }

            WriteLine("Ingrese la nota de l aevaluación");
            Printer.PresioneEnter();
            notaString = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(notaString))
            {
                //throw new ArgumentException("El valor de la nota no puede ser vacio");
                Printer.WriteTitle("El valor de la nota no puede ser vacio");
                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 de la evaluación ha sido ingresado correctamente");
                }
                catch (ArgumentOutOfRangeException arge)
                {
                    WriteLine(arge.Message);
                    WriteLine("SALIENDO DEL PROGRAMA");
                }
                catch (Exception)
                {
                    Printer.WriteTitle("El valor de la nota no es un número válido");
                    WriteLine("SALIENDO DEL PROGRAMA");
                }
                finally
                {
                    Printer.WriteTitle("FINALLY");
                    Printer.Beep(2500, 500, 3);
                }
            }



            /*
             * //Obtener los objetos mediante una lista
             * var listaObjetos = engine.GetObjetosEscuela();
             */

            /*
             * //Obtener los objetos mediante un diccionario
             * var dictmp = engine.GetDiccionarioObjetos();
             * engine.ImprimirDiccionario(dictmp, true);
             */

            /*
             * //Implementacion de diccionarios
             * Dictionary<int, string> diccionario = new Dictionary<int, string>();
             * diccionario.Add(10, "Pepito");
             * diccionario.Add(20, "Loren");
             * foreach (var keyValPair in diccionario)
             * {
             *  WriteLine($"Key: {keyValPair.Key} Valor: {keyValPair.Value}");
             * }
             * Printer.WriteTitle("Acceso a Diccionario");
             * diccionario[0] = "Juanito";
             * WriteLine(diccionario[0]);
             * Printer.WriteTitle("Otro Diccionario");
             * var dic = new Dictionary<string, string>();
             * dic["Luna"] = "Cuerpo celeste que gira alrededor de la tierra";
             * WriteLine(dic["Luna"]);
             * dic["Luna"] = "Protagonista de Soy Luna";
             * WriteLine(dic["Luna"]);
             */

            /*
             * //Interfaces
             * var ListaILugar = from obj in listaObjetos
             *              where obj is ILugar
             *                select (ILugar)obj;
             */

            /*
             * //is para preguntar si un objeto es de un tipo determinado
             * if (ob is Alumno)
             * {
             *  Alumno alumnoRecuperado = (Alumno)ob;
             * }
             * //as tomar el objeto de cual estamos refiriendonos
             * Alumno alumnoRecuperado2 = ob as Alumno;
             */
        }
Exemple #3
0
        private static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            //AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(1000, 1000, 1);
            //AppDomain.CurrentDomain.ProcessExit -= AccionDelEvento;

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");

            var reporteador          = new Reporteador(engine.GetDiccionarioObjetos());
            var EvalList             = reporteador.GetListaEvaluaciones();
            var AsignaturaList       = reporteador.GetListAsignaturas();
            var DicEval              = reporteador.GetDicEvaluacionesPorAsignatura();
            var ListaPromXAsignatura = reporteador.GetPromedioAlumnosPorAsignatura();

            Printer.WriteTitle("Captura evaluación por consola");

            string Nombre, notaString;
            var    newEval = new Evaluación();

            WriteLine("Ingrese el nombre de la evaluación:");
            Printer.PresioneENTER();
            Nombre = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(Nombre))
            {
                Printer.WriteTitle("El valor del nombre no puede ser vacio");
                WriteLine("Saliendo del programa");
            }
            else
            {
                newEval.Nombre = Nombre.ToLower();
                WriteLine("El nombre de la evaluación ha sido ingresado correctamente.");
            }

            WriteLine("Ingrese la nota de la evaluación:");
            Printer.PresioneENTER();
            notaString = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(notaString))
            {
                Printer.WriteTitle("El valor de la nota no puede ser vacio");
                WriteLine("Saliendo del programa");
            }
            else
            {
                try
                {
                    newEval.Nota = float.Parse(notaString);
                    if (newEval.Nota < 0 | newEval.Nota > 5)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe de estar entre 0 y 5");
                    }
                    WriteLine("la nota de la evaluación ha sido ingresado correctamente.");
                    return;
                }
                catch (ArgumentOutOfRangeException arge)
                {
                    Printer.WriteTitle(arge.Message);
                    WriteLine("Saliendo del programa");
                }
                catch (Exception)
                {
                    Printer.WriteTitle("El valor de la nota no es un número valido");
                    WriteLine("Saliendo del programa");
                }
                finally
                {
                    Printer.WriteTitle("FINALLY");
                    Printer.Beep(2500, 500, 3);
                }
            }


            // foreach (var item in ListaPromXAsignatura)
            // {
            //     foreach (var alumn in item.Value)
            //     {
            //         var temp = alumn as Alumno;

            //     }
            // }

            //Printer.Beep(10000, cantidad: 10);
            // ImpimirCursosEscuela(engine.Escuela);
            // var ListaObjetos = engine.GetObjetosEscuela(out int Conteo_Evaluaciones,
            // out int Conteo_Alumnos,
            // out int Conteo_Asignaturas,
            // out int Conteo_Cursos);

            // var DicTemp = engine.GetDiccionarioObjetos();
            // engine.ImprimirDiccionario(DicTemp, true);
            // Dictionary<int, string> Diccionario = new Dictionary<int, string>();
            // Diccionario.Add(10, "Juan");
            // Diccionario.Add(23, "Lorem impsum");

            // foreach (var llaveValor in Diccionario)
            // {
            //     WriteLine(llaveValor.Value);
            //     WriteLine(llaveValor.Key);
            // }

            // Printer.WriteTitle("Acceso a diccionario");
            // WriteLine(Diccionario[10]);
            // Printer.DrawLine(20);
            // Printer.DrawLine(20);
            // Printer.DrawLine(20);
            // Printer.WriteTitle("Pruebas de poliformismo");

            // var Alumno_Test = new Alumno { Nombre = "Pepito Perez" };
            // ObjetoEscuelaBase objeto = Alumno_Test;

            // Printer.WriteTitle("Alumno_or");
            // WriteLine($"Alumno: {Alumno_Test.Nombre}");
            // WriteLine($"Alumno: {Alumno_Test.UniqueId}");
            // WriteLine($"Alumno: {Alumno_Test.GetType()}");

            // Printer.WriteTitle("Alumno_pol");
            // WriteLine($"Alumno: {objeto.Nombre}");
            // WriteLine($"Alumno: {objeto.UniqueId}");
            // WriteLine($"Alumno: {objeto.GetType()}");
            // var listaObjetos = engine.GetObjetosEscuela();
        }
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");

            var reporteador    = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList       = reporteador.GetListaEvaluaciones();
            var listaAsig      = reporteador.GetListaAsignaturas();
            var listaEvalXAsig = reporteador.GetDicEvaluacionesXAsig();
            var promAlumXAsig  = reporteador.GetPromAlumXAsig();
            var promTopXAsig   = reporteador.GetTopPromXAsign(5);

            Printer.WriteTitle("Captura de una Evaluación por Consola");
            var    newEval = new Evaluación();
            string nombre, notastring;
            float  nota;

            WriteLine("Ingrese el nombre de la evaluación");
            Printer.PresioneENTER();
            nombre = ReadLine();

            if (string.IsNullOrWhiteSpace(nombre))
            {
                Printer.WriteTitle("El valor del nombre no puede ser vacío");
                WriteLine("Saliendo del programa");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre de la evaluación ha sido ingresado correctamente");
            }

            WriteLine("Ingrese la nota de la evaluación");
            Printer.PresioneENTER();
            notastring = ReadLine();

            if (string.IsNullOrWhiteSpace(notastring))
            {
                Printer.WriteTitle("El valor de la nota no puede ser vacío");
                WriteLine("Saliendo del programa");
            }
            else
            {
                try
                {
                    newEval.Nota = float.Parse(notastring);
                    if (newEval.Nota < 0 || newEval.Nota > 10)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe estár entre 0 y 5");
                    }
                    WriteLine("La nota de la evaluación ha sido ingresado correctamente");
                }
                catch (ArgumentOutOfRangeException arge)
                {
                    WriteLine(arge.Message);
                    WriteLine("Saliendo del programa");
                }
                catch (Exception)
                {
                    Printer.WriteTitle("El valor de la nota no es un número valido");
                    WriteLine("Saliendo del programa");
                }
                finally
                {
                    Printer.WriteTitle("FINALLY");
                    Printer.Beep(2500, 500, 3);
                }
            }
        }
Exemple #5
0
        static void Main(string[] args)
        {
            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");

            var reporteador    = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList       = reporteador.GetListaEvaluaciones();
            var listaAsg       = reporteador.GetListaAsignaturas();
            var listaEvalXAsig = reporteador.GetDicEvaluaXAsig();
            var listaPromXAsig = reporteador.GetPromedioPorAsignatura();

            Printer.WriteTitle("Captura de una Evaluación por Consola");
            var    newEval = new Evaluación();
            string nombre, notastring;

            //float nota;

            WriteLine("Ingrese el nombre de la evaluación");
            Printer.PreioneEnter();
            nombre = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(nombre))
            {
                Printer.WriteTitle("El valor del nombre no puede estar vacio");
                WriteLine("Saliendo del programa");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre ha sido capturado correctamente");
            }


            WriteLine("Ingrese la nota de la evaluación");
            Printer.PreioneEnter();
            notastring = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(notastring))
            {
                Printer.WriteTitle("El valor de la nota no puede estar vacio");
                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 1 y 5");
                    }
                    WriteLine("La nota ha sido capturado correctamente");
                }
                catch (ArgumentOutOfRangeException arge)
                {
                    Printer.WriteTitle(arge.Message);
                    WriteLine("Saliendo del programa");
                }
                catch (Exception)
                {
                    Printer.WriteTitle("El valor de la nota no es un número valido");
                    WriteLine("Saliendo del programa");
                }
                finally
                {
                    //El finally dentro de las excepciones es ese fragmento de codigo que siempre se va a jecutar antes de terminar la apliación o proceso de la excepcion.
                    Console.WriteLine("FINAllY");
                }
            }

            Console.ReadLine();
        }
Exemple #6
0
        static void Main(string[] args)
        {
            /// Evento delegado lanzado al terminar la ejecución del programa
            // Forma 1:
            //AppDomain.CurrentDomain.ProcessExit += AccionDelEvento();
            // Forma 2:
            //.CurrentDomain.ProcessExit += (o,s)=> Imprimir.ImprimirBeepEnConsola(5000,1000);

            /// Remover un evento asignado
            //AppDomain.CurrentDomain.ProcessExit -= AccionDelEvento();

            var coreEscuela = new EscuelaEngine();

            coreEscuela.Inicializar();
            ImprimirEscuelas(coreEscuela.Escuela);

            Imprimir.ImprimirLineaEnConsola(20);
            Imprimir.ImprimirTituloEnConsola("Pruebas Polimorfismo");

            var alumnoTest = new Alumno()
            {
                Nombre = "Carlo Amaya"
            };
            var objSistema = alumnoTest;

            Imprimir.ImprimirTituloEnConsola("Alumno");
            Console.WriteLine($"Nombre Alumno: {alumnoTest.Nombre}");
            Console.WriteLine($"Id Alumno: {alumnoTest.Id}");
            Console.WriteLine($"Id objSistema: {alumnoTest.GetType()}");


            Imprimir.ImprimirTituloEnConsola("objSistema");
            Console.WriteLine($"Nombre objSistema: {objSistema.Nombre}");
            Console.WriteLine($"Id objSistema: {objSistema.Id}");
            Console.WriteLine($"Id objSistema: {objSistema.GetType()}");

            var listEscuela = new List <Escuela>();

            listEscuela.Add(coreEscuela.Escuela);

            /// obtener objetos que implementen una interfaz
            var objILugar = from obj in listEscuela
                            where obj is ILugar
                            select(ILugar) obj;


            /// Diccionarios
            Dictionary <int, string> diccionario = new Dictionary <int, string>();

            diccionario.Add(10, "Juank");
            diccionario.Add(12, "CarlosA");
            diccionario.Add(14, "DianaO");

            // Forma de recorrer un diccionario.
            foreach (var keyValuePair in diccionario)
            {
                Console.WriteLine($"Key:{keyValuePair.Key}; Valor: {keyValuePair.Value}");
            }

            Dictionary <string, string> diccionario2 = new Dictionary <string, string>();

            diccionario2["Luna"] = "Cuerpo celeste que gira alrrededor de la tierra";
            Console.WriteLine(diccionario2["Luna"]);

            // Cast
            IEnumerable <SalaDistante> listaSalasDistantes = new List <SalaDistante>();
            List <Sala> salas = new List <Sala>();

            //salas = listaSalasDistantes.Cast<Sala>();
            var sala1 = new Sala()
            {
                CostoFijo = 1534, Descripcion = "ejemplo 1", Id = 1, IndiceOcupacion = 1, MaximoOcupacion = 1, Nombre = "Sala 1", OcupacionActual = 1
            };
            var sala2 = new Sala()
            {
                CostoFijo = 1534, Descripcion = "ejemplo 2", Id = 1, IndiceOcupacion = 1, MaximoOcupacion = 1, Nombre = "Sala 2", OcupacionActual = 1
            };
            var sala3 = new Sala()
            {
                CostoFijo = 1534, Descripcion = "ejemplo 3", Id = 1, IndiceOcupacion = 1, MaximoOcupacion = 1, Nombre = "Sala 3", OcupacionActual = 1
            };
            var sala4 = new Sala()
            {
                CostoFijo = 1534, Descripcion = "ejemplo 4", Id = 1, IndiceOcupacion = 1, MaximoOcupacion = 1, Nombre = "Sala 4", OcupacionActual = 1
            };

            salas.Add(sala1);
            salas.Add(sala2);
            salas.Add(sala3);
            salas.Add(sala4);

            listaSalasDistantes = salas.Cast <SalaDistante>();

            Reporteador repo = new Reporteador(null);
        }
Exemple #7
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            //AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(2000, 1000, 1);
            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");
            var reporteador = new Reporteador(engine.GetDiccionarioObjetos());
            //new Reporteador(null);
            var evaluaciones     = reporteador.GetListaEvaluaciones();
            var asignaturas      = reporteador.GetListaAsignaturas();
            var dicEvalXAsig     = reporteador.GetDicEvaluaXAsig();
            var listaPromXAsig   = reporteador.GetPromedioAlumnosPorAsignaturas();
            var mejoresPromedios = reporteador.GetMejoresPromediosPorAsignaturas(10);

            Printer.WriteTitle("Captura de una evaluación por consola.");
            var    eval = new Evaluación();
            string nombre;

            WriteLine("Ingrese el nombre de la evaluación");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(nombre))
            {
                throw new ArgumentException("El valor del nombre no puede ser vacio.");
            }
            else
            {
                eval.Nombre = nombre.ToLower();
                System.Console.WriteLine("El nombre de la evaluación ha sido ingresado correctamente.");
            }

            WriteLine("Ingrese el valor de la nota");
            Printer.PresioneEnter();
            var notastring = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(notastring))
            {
                throw new ArgumentException("El valor de la nota no puede ser vacio.");
            }
            else
            {
                try{
                    eval.Nota = double.Parse(notastring);
                    if (eval.Nota < 0 || eval.Nota > 5)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe estar entre 0 y 5.");
                    }
                    System.Console.WriteLine("El valor de la nota ha sido ingresado correctamente.");
                }
                catch (ArgumentOutOfRangeException arge) {
                    Printer.WriteTitle(arge.Message);
                    WriteLine("Saliendo del programa.");
                }
                catch (Exception) {
                    Printer.WriteTitle("El valor de la nota no es un número válido.");
                    WriteLine("Saliendo del programa.");
                }
            }
        }
Exemple #8
0
        static void Main(string[] args)
        {
            //AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            //AppDomain.CurrentDomain.ProcessExit += (o,s)=>Printer.Beep(2000,1000,1);

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("Bienvenidos a la escuela");

            var reporteador = new Reporteador(engine.GetDiccionarioObjetos());

            //reporteador.GetListaEscuela();

            /* var evalList = reporteador.GetListaEvaluaciones();
             * var listaAsig = reporteador.GetListaAsignaturas();
             * var listaEvalAsig = reporteador.GetDiccionarioEvaluacionesXAsignatura();
             * var listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura();
             * var topListaPromXAsig = reporteador.GetTopPromeAlumnPorAsignatura(5);
             */
            Printer.WriteTitle("Captura de una Evaluación por Consola");
            var    newEval = new Evaluación();
            string nombre, notaString;
            float  nota;

            WriteLine("Ingrese el nombre de la Evaluación:");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(nombre))
            {
                Printer.WriteTitle("El valor del nombre no puede ser vacio");
                WriteLine("Saliendo del programa");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre de la evaluación ha sido ingresado correctamente");
            }

            WriteLine("Ingrese la nota de la Evaluación:");
            Printer.PresioneEnter();
            notaString = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(notaString))
            {
                Printer.WriteTitle("El valor de la nota no puede ser vacio");
                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 de la evaluación ha sido ingresado correctamente");
                    return;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    WriteLine(e.Message);
                    WriteLine("Saliendo del programa");
                }
                catch (Exception)
                {
                    WriteLine("El valor de la nota no es valida");
                }
                finally
                {
                    Printer.WriteTitle("FINALLY");
                    Printer.Beep(2500, 500, 3);
                }
            }
        }
Exemple #9
0
        static void Main(string[] args)
        {
            // AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            // AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(2000, 1000, 1);

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");

            var reporteador     = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList        = reporteador.GetListaEvalucion();
            var asigList        = reporteador.GetListaAsignaturas();
            var listaEval       = reporteador.GetDicEvaluacionAsign();
            var ListaPromexAsig = reporteador.GetPromedioAlumnoAsig();

            Printer.WriteTitle("Captura de una evaluacion por consola");
            var    newEval = new Evaluacion();
            string nombre, notastrig;

            WriteLine("Ingrese el Nombre de la evalucion");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();

            if (string.IsNullOrEmpty(nombre))
            {
                throw new ArgumentException($"El valor del {nameof(nombre)} no puede ser vacio");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre de la evaluacion ha sido ingresado");
            }

            /*////////////////////////////////////////////*/
            WriteLine("Ingrese La NOTA de la evalucion");
            Printer.PresioneEnter();
            notastrig = Console.ReadLine();

            if (string.IsNullOrEmpty(notastrig))
            {
                throw new ArgumentException($"El valor del {nameof(notastrig)} no puede ser vacio");
            }
            else
            {
                try
                {
                    newEval.Nota = float.Parse(notastrig);
                    if (newEval.Nota < 0 || newEval.Nota > 5)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe de estar entre 0 y 5");
                    }
                    WriteLine("La nota de la evaluacion ha sido ingresado");
                }
                catch (ArgumentOutOfRangeException ex)
                {
                    Printer.WriteTitle(ex.Message);
                }
                catch (Exception ex)
                {
                    Printer.WriteTitle($"{ex.Message} El Valor de la nota no es un numero valido");
                }
                finally
                {
                    Printer.ExitProgram();
                    Printer.Beep(2500, 500, 3);
                }
            }
        }
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            var engine = new EscuelaEngine();

            engine.Inicializar();

            var diccionarioObj = engine.ObtenerDiccionarioObjetos();
            var reporteador    = new Reporteador(diccionarioObj);

            while (true)
            {
                Clear();
                Printer.DibujarMenuPrincipal(engine.Escuela.Nombre);
                var opcion = ReadKey();
                try
                {
                    switch (opcion.Key)
                    {
                    case ConsoleKey.D0:
                    case ConsoleKey.NumPad0:
                        Clear();
                        WriteLine("Terminando el programa...");
                        return;

                    case ConsoleKey.D1:
                    case ConsoleKey.NumPad1:
                        var lsEvaluaciones = reporteador.ObtenerEvaluaciones();
                        if (lsEvaluaciones.Count() == 0)
                        {
                            WriteLine("No se encontraron registros");
                        }
                        else
                        {
                            ReportePaginado(lsEvaluaciones, "Reporte de Evaluaciones");
                        }
                        break;

                    case ConsoleKey.D2:
                    case ConsoleKey.NumPad2:
                        var lsEvalAsig = reporteador.ObtenerEvaluacionesPorAsignatura();
                        if (lsEvalAsig.Count() == 0)
                        {
                            WriteLine("No se encontraron registros");
                        }
                        else
                        {
                            SubMenu(lsEvalAsig, "Reporte de Evaluaciones por Asignatura");
                        }
                        break;

                    case ConsoleKey.D3:
                    case ConsoleKey.NumPad3:
                        var lsPromedio = reporteador.ObtenerPromedioAlumnoPorAsignatura();
                        if (lsPromedio.Count() == 0)
                        {
                            WriteLine("No se encontraron registros");
                        }
                        else
                        {
                            SubMenu(lsPromedio, "Reporte de Promedio Alumno por Asignatura");
                        }
                        break;

                    case ConsoleKey.D4:
                    case ConsoleKey.NumPad4:
                        Clear();
                        WriteLine("Ingrese la cantidad Top");
                        var cantidadStr = ReadLine();
                        if (int.TryParse(cantidadStr, out int cantidad))
                        {
                            var lsTopPromedio = reporteador.ObtenerPromedioAlumnoPorAsignatura(cantidad);
                            if (lsTopPromedio.Count() == 0)
                            {
                                WriteLine("No se encontraron registros");
                            }
                            else
                            {
                                SubMenu(lsTopPromedio, $"Reporte de Top {cantidad} Promedio Alumno por Asignatura");
                            }
                        }
                        break;
                    }
                }
                catch (Exception)
                {
                    WriteLine("Ocurrió un error inesperado");
                    WriteLine("Volviendo al menú");
                }
                finally
                {
                }
            }
        }
Exemple #11
0
        static void Main(string[] args)
        {
            //Se ejecutan en orden cuando el proceso termina
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(2000, 1000, 1);
            AppDomain.CurrentDomain.ProcessExit -= AccionDelEvento; //Se elimina este

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("¡Bienvenido a la escuela!");
            //var reporteador = new Reporteador(engine.getDiccionarioObjetos());
            var reporteador    = new Reporteador(null);
            var evalList       = reporteador.GetListaEvaluaciones();
            var listaAsig      = reporteador.GetListaAsignaturas();
            var listaEvalXAsig = reporteador.GetDicEvaluaXAsig();
            var listaPromXAsig = reporteador.GetPromAlumPorAsignatura();

            Printer.WriteTitle("Captura de una evaluación por consola");

            WriteLine("Ingrese el nombre de la evaluación");
            Printer.PressEnter();
            string nombre = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(nombre))
            {
                Printer.WriteTitle("El valor del nombre no puede ser vacio");
                WriteLine("Saliendo del programa");
            }
            else
            {
                nombre = nombre.ToLower();
                WriteLine("Nombre ingresado correctamente");
            }

            WriteLine("Ingrese la nota de la evaluación");
            Printer.PressEnter();
            string notaStr = Console.ReadLine();
            float  nota;

            try
            {
                nota = float.Parse(notaStr);
                if (nota < 0 || nota > 5)
                {
                    throw new ArgumentOutOfRangeException("La nota debe estar entre 0 y 5");
                }
                WriteLine("La nota de la evaluacion ha sido ingresada correctamente");
                return;
            }
            catch (ArgumentOutOfRangeException argE)
            {
                Printer.WriteTitle(argE.Message);
                WriteLine("Saliendo del programa");
            }
            finally
            {
                Printer.WriteTitle("FINALLY");
                Printer.Beep(2500, 500, 3);
            }
        }
Exemple #12
0
        static void Main(string[] args)
        {
            // multicast delegate
            // puede tomar cuantos delegados le demos ->AppDomain...
            // evento llamado cuando termina el programa
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            // en la funcion lambda debemos enviarle en objeto y el sender de
            // el evento o marcará error
            AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.PrintTitle("Segundo evento agregado.");
            // Podemos remover el primer evento
            //AppDomain.CurrentDomain.ProcessExit -= AccionDelEvento;

            //inicializando una instancia principal
            var engine = new EscuelaEngine();

            engine.Inicializar();

            WriteLine($"BIENVENIDO A {engine.Escuela.Nombre}");
            MostrarCursosEscuela(engine.Escuela);

            var todosEscuelaBases = engine.GetDiccionarioEscuelaBases();
            // filtros opcionales al traer el diccionario
            //engine.MostrarDiccionario(todosEscuelaBases,
            //    impEval:false, impAl:false, impEsc:false);

            //Printer.PrintTitle("Test del Reporter");
            // trae todos los objetos sin excepcion
            var myRep = new Reporter(engine.GetDiccionarioEscuelaBases());
            //var myRep = new Reporter(null);

            var evaluaciones = myRep.GetListaEvaluaciones();
            //if(evaluaciones.Any()) WriteLine(evaluaciones.ToList()[0]);

            var asignaturas = myRep.GetListaAsignaturas();
            //foreach (var asignatura in asignaturas.ToList())
            //{
            //    WriteLine(asignatura);
            //}

            var evalXAsig = myRep.GetEvaluacionesPorAsignatura();
            //foreach (var e in evalXAsig)
            //{
            //    Printer.PrintTitle(e.Key);
            //    WriteLine($"{e.Key} => Cantidad de evaluaciones: {e.Value.Count()}");
            //    //foreach (var ev in e.Value)
            //    //{
            //        //Write($"{ev.Asignatura} | ");
            //    //}
            //}

            var alumnosNotas = myRep.GetPromedioAlumnosxAsignatura();
            //foreach (var asignatura in alumnosNotas)
            //{
            //    Printer.PrintTitle(asignatura.Key);
            //
            //    foreach (var alumno in asignatura.Value)
            //    {
            //        WriteLine($"{alumno.AlumnoNombre} => {alumno.Promedio}");
            //    }
            //}

            // mandando a reportear top 5 por cada asignatura
            var mejoresPromedios = myRep.mejoresPromediosPorAs(5);

            //---------------------------Menu
            Printer.PrintTitle("Captura de una evaluación por consola.");
            var    nuevaEvaluacion = new Evaluacion();
            string nombre, notaString = "";

            WriteLine("Ingresar el nombre de la evaluación");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(nombre))
            {
                throw new ArgumentException("El valor del nombre no puede estar vacío.");
            }
            else
            {
                nuevaEvaluacion.Nombre = nombre.ToUpper();
                WriteLine("El nombre de la evaluacion ha sido guardada exitosamente.");
            }

            // capturando una nota valida
            while (true)
            {
                WriteLine("Ingresar la  nota de la evaluación");
                Printer.PresioneEnter();
                notaString = Console.ReadLine();
                try
                {
                    nuevaEvaluacion.Nota = float.Parse(notaString);
                    if (nuevaEvaluacion.Nota < 0.0 || nuevaEvaluacion.Nota > 5.0)
                    {
                        throw new FormatException();
                    }
                    break;
                }
                catch (FormatException)
                {
                    // en caso de no poder transformar a float
                    // se repite la peticion
                    WriteLine("[***Por favor ingrese una nota valida***]");
                }
                finally // se ejecuta inclusive esté el break
                {
                    Printer.PrintTitle("Beeep beeep beeep...");
                }
            }

            WriteLine("La nota de la evaluacion ha sido guardada exitosamente.");

            // end main
        }
Exemple #13
0
        static void Main(string[] args)
        {
            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("Bienvenidos a la Escuela");

            var reporteador = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList    = reporteador.GetListaEvaluaciones();

            Printer.WriteTitle("Captura de una Evaluación por Consola");
            var    nEval = new Evaluación();
            string nombre, notaString;
            float  nota;

            WriteLine("Ingrese el nombre de la evaluación");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();

            if (string.IsNullOrEmpty(nombre))
            {
                throw new ArgumentException("El valor del nombre no puede ser vacio");
            }
            else
            {
                nEval.Nombre = nombre.ToLower();
                WriteLine("El nombre de la evaluación ha sido ingresado correctamente");
            }

            WriteLine("Ingrese la nota de la evaluación");
            Printer.PresioneEnter();
            notaString = Console.ReadLine();

            if (string.IsNullOrEmpty(nombre))
            {
                throw new ArgumentException("El valor de la nota no puede ser vacio");
            }
            else
            {
                try
                {
                    nEval.Nota = float.Parse(notaString);
                    if (nEval.Nota < 0 || nEval.Nota > 5)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe ser entre 0 y 5");
                    }
                    WriteLine("La nota de la evaluación ha sido ingresado correctamente");
                }
                catch (ArgumentOutOfRangeException arge)
                {
                    Printer.WriteTitle(arge.Message);
                }
                catch (Exception)
                {
                    WriteLine("La nota de la evaluación no es un número válido");
                }
                finally
                {
                    //finally siempre se va a ejecutar
                    Printer.WriteTitle("Se ejecuto el finally");
                }
            }
        }
Exemple #14
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += ActionDelEvento;
            AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(2000, 1000, 1);
            AppDomain.CurrentDomain.ProcessExit -= ActionDelEvento;

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");
            //Printer.Beep(10000, cantidad: 10);
            //ImprimirCursosEscuela(engine.Escuela);

            var reporteador    = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList       = reporteador.GetListaEvaluaciones();
            var listAsg        = reporteador.GetListaAsignaturas();
            var listaEvalXAsig = reporteador.GetDicEvaluacionesXAsig();
            var listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura();

            Printer.WriteTitle("Captura de una Evaluación por Consola");
            var    newEval = new Evaluación();
            string nombre, notaString;
            float  nota;

            WriteLine("Ingrese el nombre de la Evaluación");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(nombre))
            {
                Printer.WriteTitle("El valor del nombre no puede ser vacio");
                WriteLine("Saliendo del programa");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre de la Evaluación ha sido ingresado correctamente");
            }

            WriteLine("Ingrese la nota de la Evaluación");
            Printer.PresioneEnter();
            notaString = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(notaString))
            {
                Printer.WriteTitle("El valor de la nota no puede ser vacio");
                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 de la Evaluación ha sido ingresada correctamente");
                    return;
                }
                catch (ArgumentOutOfRangeException arge)
                {
                    Printer.WriteTitle(arge.Message);
                    WriteLine("Saliendo del programa");
                }
                catch (Exception)
                {
                    Printer.WriteTitle("El valor de la nota no es número válido");
                    WriteLine("Saliendo del programa");
                }
                finally
                {
                    Printer.WriteTitle("FINALLY");
                    Printer.Beep(2500, 500, 3);
                }
            }

            // Dictionary<int, string> diccionario = new Dictionary<int, string>();

            // diccionario.Add(10, "Duvan");
            // diccionario.Add(23, "Lorem Ipsum");

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

            // var dictmp = engine.GetDiccionarioObjetos();
            // engine.ImprimirDiccionario(dictmp, true);

            //////////////////EJECICIOS DICCIONARIO//////////////////
            // Printer.WriteTitle("Acceso a Diccionario");
            // //WriteLine(diccionario[23]);
            // diccionario[0] = "Pekerman";
            // WriteLine(diccionario[0]);
            // Printer.WriteTitle("Otro diccionario");
            // var dic = new Dictionary<string, string>();
            // dic["Luna"] = "Cuerpo celeste que gira alrededor de la tierra";
            // WriteLine(dic["Luna"]);
            // dic["Luna"] = "Protagonista de soy Luna";
            // dic.Add("Luna", "Protagonista de Soy Luna");//Saca error
            // WriteLine(dic["Luna"]);
            ///////////////////////////////////////////////////////////


            //////////////PRUEBAS DE POLIMORFISMO/////////////////
            //var obj = new ObjetoEscuelaBase();
            // Printer.DrawLine(20);
            // Printer.DrawLine(20);
            // Printer.DrawLine(20);
            // Printer.WriteTitle("Pruebas de Polimorfismo");
            // var alumnoTest = new Alumno { Nombre = "Claire UnderWood" };

            // Printer.WriteTitle("Alumno");
            // WriteLine($"Alumno: {alumnoTest.Nombre}");
            // WriteLine($"Alumno: {alumnoTest.UniqueId}");
            // WriteLine($"Alumno: {alumnoTest.GetType()}");


            // ObjetoEscuelaBase ob = alumnoTest;
            // Printer.WriteTitle("ObjetoEscuela");
            // WriteLine($"Alumno: {ob.Nombre}");
            // WriteLine($"Alumno: {ob.UniqueId}");
            // WriteLine($"Alumno: {ob.GetType()}");

            // var objDummy = new ObjetoEscuelaBase() { Nombre = "Frank Underwood" };
            // Printer.WriteTitle("ObjetoEscuelaBase");
            // WriteLine($"Alumno: {objDummy.Nombre}");
            // WriteLine($"Alumno: {objDummy.UniqueId}");
            // WriteLine($"Alumno: {objDummy.GetType()}");

            // var evaluación = new Evaluación() { Nombre = "Evaluación de math", Nota = 4.5f };
            // Printer.WriteTitle("Evaluación");
            // WriteLine($"Evaluación: {evaluación.Nombre}");
            // WriteLine($"Evaluación: {evaluación.UniqueId}");
            // WriteLine($"Evaluación: {evaluación.Nota}");
            // WriteLine($"Evaluación: {evaluación.GetType()}");

            // ob = evaluación;
            // Printer.WriteTitle("ObjetoEscuela");
            // WriteLine($"Alumno: {ob.Nombre}");
            // WriteLine($"Alumno: {ob.UniqueId}");
            // WriteLine($"Alumno: {ob.GetType()}");

            // alumnoTest = (Alumno)evaluación;

            // if (ob is Alumno)
            // {
            //     Alumno alumnoRecuperado = (Alumno)ob;
            // }

            // Alumno alumnoRecuperado2 = ob as Alumno;
            // if (alumnoRecuperado2 != null)
            // {

            // }
            /////////////////////////////////////////////////////

            //engine.Escuela.LimpiarLugar();

            //////Obtener objetos a través de linq//////////////
            // var listaILugar = from obj in listaObjetos
            //                     where obj is ILugar
            //                     select (ILugar) obj;

            //  var listaILugar = from obj in listaObjetos
            //                     where obj is Alumno
            //                     select (Alumno) obj;
            ///////////////////////////////////////////////////

            ////////////////PARAMETROS DE SALIDAD/////////////
            ///Forma 1
            // int dummy = 0;
            // var listaObjetos = engine.GetObjetoEscuelas(
            //     out int conteoEvaluaciones,
            //     out dummy,
            //     out dummy,
            //     out dummy);

            //Forma 2 *Utilizar variable dummy
            // int dummy = 0;
            // var listaObjetos = engine.GetObjetoEscuelas(
            //     out int conteoEvaluaciones,
            //     out int conteoCursos,
            //     out int conteoAsignaturas,
            //     out int conteoAlumnos
            // );

            //Forma 3 *Utilizando sobrecargas de metodos
            // int dummy = 0;
            // var listaObjetos = engine.GetObjetoEscuelas();
            // listaObjetos.Add(new Evaluación { Nombre = "Curso Loco" });
            /////////////////////////////////////////////////////////////////////
        }
Exemple #15
0
        static void Main(string[] args)
        {
            Printer.writeTitle("Bienvenidos a la Escuela");
            var engine = new EscuelaEngine();

            engine.Inicializar();
            Console.WriteLine(engine.Escuela);
            imprimirCursosEscuela(engine.Escuela);
            //int dummy = 0; //variable dummy

            var listaObjetos = engine.getObjetosEscuela
                               (
                out int ConteoEvaluaciones,
                out int ConteoCursos,
                out int ConteoAsignaturas,
                out int ConteoAlumnos,
                true,
                true,
                true,
                true
                               );

            // var listaLugar = from obj in listaObjetos  //Se usa LINQ, esto es un query para filtrar
            //                  where obj is ILugar       //el where de SQL donde el objeto sea de cierto tipo
            //                  select (ILugar)obj;       //seleccionar el objeto con un casting de tipo x
            #region pruebas polimorfismo
            //engine.Escuela.LimpiarLugar();
//
//             Printer.DrawLine(20);
//             Printer.DrawLine(20);
//             Printer.DrawLine(20);
//             Printer.writeTitle("Pruebas de polimorfismo");
//             var alumnoTest = new Alumno{Nombre = "Claire Underwood"};
//             ObjetoEscuelaBase ob = alumnoTest;

//             Printer.writeTitle("Alumno");
//             WriteLine($"Alumno: {alumnoTest.Nombre}");
//             WriteLine($"Alumno: {alumnoTest.UniqueID}");
//             WriteLine($"Alumno: {alumnoTest.GetType()}");

//             Printer.writeTitle("Objeto Escuela");
//             WriteLine($"Alumno: {ob.Nombre}");
//             WriteLine($"Alumno: {ob.UniqueID}");
//             WriteLine($"Alumno: {ob.GetType()}");

//         // var objDummy = new ObjetoEscuelaBase(){ Nombre = "Frank Underwood"};

//         // Printer.writeTitle("Objeto Escuela Base");
//         // WriteLine($"Alumno: {objDummy.Nombre}");
//         // WriteLine($"Alumno: {objDummy.UniqueID}");
//         // WriteLine($"Alumno: {objDummy.GetType()}");

//             alumnoTest = (Alumno) ob;

//             //Se puede trabajar un objeto con caracteristicas de padre a hijo pero de hijo a padre no
//             //al menos que tenga la informacion sea del mismo tipo

//             var evaluacionx = new Evaluacion(){Nombre = "Evaluacion de math", Nota = 4.5f};
//             Printer.writeTitle("Evaluacion");
//             WriteLine($"evaluacion: {evaluacionx.Nombre}");
//             WriteLine($"evaluacion: {evaluacionx.UniqueID}");
//             WriteLine($"evaluacion: {evaluacionx.Nota}");
//             WriteLine($"evaluacion: {evaluacionx.GetType()}");

//             if (ob is Alumno)
//             {
//                 Alumno alumnoRecuperado = (Alumno)ob;
//             }
//
//             Alumno alumnoRecuperado2 = ob as Alumno; // el as valida si es del tipo si no solo devuelve null
            #endregion
        }