Пример #1
0
        static void Main(string[] args)
        {   //AppDomain.CurrentDomain.ProcessExit += método que se va a ejecutar
            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");
            //Printer.Beep(10000, cantidad: 10);
            ImpimirCursosEscuela(engine.Escuela);
            // Si no se quieren pasar todos los parámetros de salida se puede crear una variable dummy para que se validen
            var listaObjetos = engine.GetObjetosEscuela(out int conteoEvaluaciones,
                                                        out int conteoCursos,
                                                        out int conteoAsignaturas,
                                                        out int conteoAlumnos);
            var dicc = engine.GetDiccionarioObjetos();

            engine.ImprimirDiccionario(dicc, true);
            var reporteador   = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList      = reporteador.GetListaEvaluaciones();
            var listAsig      = reporteador.GetListaAsignaturas();
            var listEvalxAsig = reporteador.GetDicEvaluacionAsignatura();

            #region Comentado para estudio Linq
            // engine.Escuela.LimpiarLugar();
            // var ListaILugar = from obj in listaObjetos
            //                   where obj is ILugar
            //                   select (ILugar) obj;
            #endregion
        }
Пример #2
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            var engine = new EscuelaEngine();

            engine.Inicializar();

            Printer.WriteTitle("BIENVENIDOS");
            WriteLine(engine.Escuela);
            ImprimirCursos(engine.Escuela);

            var listaObjetos = engine.GetObjetosEscuela(
                out int conteoEvaluaciones,
                out int conteoCursos,
                out int conteoAsignaturas,
                out int conteoAlumnos
                );

            var listaLugar = from obj in listaObjetos
                             where obj is ILugar
                             select(ILugar) obj;

            var dicti = engine.GetDiccionarioObjetos();

            engine.ImprimirDiccionario(dicti);
        }
Пример #3
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += (o, s) => WriteLine("salio");
            var engine = new EscuelaEngine();

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

            // var alumnoTest = new Alumno {Nombre="Claire UnderWood"};
            // ObjetoEscuelaBase ob = alumnoTest;


            // var evaluacion = new Evaluacion{Nombre="Evaluacion de mat", Nota=8};
            // WriteLine(evaluacion.UniqueId);
            // ob = evaluacion;
            // var listaObjetos = engine.GetObjetoEscuelas(
            // traeEvaluaciones:false, traeAlumnos: true, traeAsignaturas:false);
            // /* var listaIlugar = from obj in listaObjetos
            //                 where obj is Alumno
            //                 select (Alumno) obj; */
            // engine.escuela.LimpiarLugar();


            Printer.DibujarTitulo("Diccionario");
            var dic = engine.GetDiccionarioObjetos();
            //Printer.ImprimirDiccionario(dic,true, false,false);
            var reporteador         = new Reporteador(dic);
            var evallist            = reporteador.GetListaEvaluaciones();
            var listaasignaturas    = reporteador.GetListaAsignaturas();
            var listaEvalxAsig      = reporteador.GetListaEvaluacionesporAsignatura();
            var listaCalificaciones = reporteador.GetPromedioAlumnosporAsignatura();
            int n            = 3;
            var topPromedios = reporteador.GetTopNporMateria(n);
        }
Пример #4
0
        private static void PruebaDictionary(EscuelaEngine engine)
        {
            //Printer.Beep(1000, cantidad: 1);
            ImprimirCursosEscuela(engine.Escuela);
            PruebaDiccionario();
            var dicObjetos = engine.GetDiccionarioObjetos();

            engine.ImprimirDiccionario(dicObjetos, true);
        }
Пример #5
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 /:p/");
            var reporteador         = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList            = reporteador.GetListaEvaluaciones();
            var listaAsg            = reporteador.GetListaAsignaturas();
            var listaProm           = reporteador.GetPromedioAlumnoxAsignatura();
            var mejoresAlumnosxAsig = reporteador.GetMejoresAlumnos(8);
        }
Пример #6
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AcciondelEvento;
            AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(100, 100, 1);
            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.EscribirTitulo("Bienvenidos a la escuela");
            var reporteador  = new Reporteador(engine.GetDiccionarioObjetos());
            var evList       = reporteador.GetListaEvaluaciones();
            var asigList     = reporteador.GetListaAsignatura();
            var listaEvXAsig = reporteador.GetListaEvPorAsignatura();

            var listaPromXAsig = reporteador.GetPromedioPorAsignatura();
        }
Пример #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());
            var evalList       = reporteador.GetListaEvaluaciones();
            var listaAsg       = reporteador.GetListaAsignaturas();
            var listaEvalXAsig = reporteador.GetDicEvaluaXAsig();
            var listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura();
            var topPromedio    = reporteador.GetTopAlumnosPorAsignatura(5);
        }
Пример #8
0
        static void Main(string[] args)
        {
            var engine = new EscuelaEngine();

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

            var reporteador = new Reporteador(engine.GetDiccionarioObjetos());
            IEnumerable <string> lasAsignaturas = reporteador.GetListaAsignaturas();

            Printer.WriteTitle("Prueba método GetListEvalXAsig");
            Dictionary <string, IEnumerable <Evaluación> > diccEvXAsig = reporteador.GetListaEvXAsig();

            var PromedioAlumnos = reporteador.ExtraerPromedioPorNotaAlumno();

            var Mejores3Promedios = reporteador.MejoresXPromediosDeXAsignatura(3);
        }
Пример #9
0
        static void Main(string[] args)
        {                                                           //El evento se va a ejecutar siempre que termine la aplicación, no importa cómo termine
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento; //AccionDelEvento es un apuntador a una función
            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");

            var reporteador    = new Reporteador(engine.GetDiccionarioObjetos());
            var evalList       = reporteador.GetListaEvaluaciones();
            var listaAsg       = reporteador.GetListaAsignaturas();
            var listaEvalXAsig = reporteador.GetDicEvaluaXAsig();
            var listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura();
        }
Пример #10
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Pitar(2000, 1000, 1);
            AppDomain.CurrentDomain.ProcessExit -= AccionDelEvento;

            var engine = new EscuelaEngine();

            engine.Inicializar();
            Printer.WriteTitle("BIENVENIDOS A LA ESCUELA");
            //Printer.Pitar(5000, cantidad: 1);
            //ImprimirCursosEscuela(engine.Escuela);
            Dictionary <int, string> diccionario = new Dictionary <int, string>();

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

            foreach (var keyValPair in diccionario)
            {
                WriteLine($"Key:{keyValPair.Key} Valor:{keyValPair.Value}");
            }
            Printer.WriteTitle("Acceso a Diccionario");
            WriteLine(diccionario[23]);

            Printer.WriteTitle("Otro Diccionario");
            var dic = new Dictionary <string, string>();

            dic["Luna"] = "Cuerpo celeste que gira al rededor de la tierra";
            WriteLine(dic["Luna"]);
            //dic["Luna"] = "Protagonista de soy luna";
            //dic.Add("Luna", "Protagonista de soy luna");
            WriteLine(dic["Luna"]);

            var dictmp = engine.GetDiccionarioObjetos();

            engine.ImprimirDiccionario(dictmp, true);
        }
Пример #11
0
        static void Main(string[] args)
        {
            // AppDomain.CurrentDomain.ProcessExit += AccionEvento;
            // instanciar escuela
            var engine = new EscuelaEngine();

            engine.Inicializar();

            // ejecucion
            Printer.WriteTitle("Cursos de la Escuela");

            var diccionarioObjs = engine.GetDiccionarioObjetos();

            engine.ImprimirDiccionario(diccionarioObjs, true);

            var reporteador    = new Reporteador(diccionarioObjs);
            var evalList       = reporteador.GetListaDeEvaluaciones();
            var asignaturaList = reporteador.GetListaAsignaturas();
            var listaEvalAsig  = reporteador.GetDicEvaluacionesXAsig();

            var listPromXAsig = reporteador.getPromedioAlumnoXAsinatura();

            Console.WriteLine(fibonacci(19));
        }
Пример #12
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);
                }
            }
        }
Пример #13
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionEvento;
            var engine = new EscuelaEngine();

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

            var reporteador            = new Reporteador(engine.GetDiccionarioObjetos());
            var evaluaciones           = reporteador.GetListaEvaluaciones();
            var asignaturas            = reporteador.GetListaAsignaturas();
            var evaluacionesAsignatura = reporteador.GetListaEvaluacionesAsignatura();
            var promedios = reporteador.GetPromedioAlumnoAsignatura();

            foreach (var promedio in promedios)
            {
                foreach (var alumno in promedio.Value)
                {
                    var alumnoPromedio = alumno as AlumnoPromedio;
                }
            }

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

            WriteLine("Ingrese el nombre de la evaluacion.");
            Printer.PresioneEnter();
            nombre = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(nombre))
            {
                Printer.WriteTitle("El valor del nombre no puede ser vacio");
            }
            else
            {
                evaluacion.Nombre = nombre.ToLower();
            }

            WriteLine("El nombre de la evaluacion se ha ingresado correctamente.");

            WriteLine("Ingrese la nota de la evaluacion.");
            Printer.PresioneEnter();
            notaString = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(notaString))
            {
                Printer.WriteTitle("El valor de la nota no puede ser vacio");
            }
            else
            {
                try
                {
                    evaluacion.Nota = float.Parse(notaString);
                    WriteLine("La nota de la evaluacion se ha ingresado correctamente.");
                    if (evaluacion.Nota < 0 || evaluacion.Nota > 5)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe de estar entre 0 y 5.");
                    }
                }
                catch (ArgumentOutOfRangeException excepcion)
                {
                    WriteLine(excepcion.Message);
                }
                catch (System.Exception)
                {
                    Printer.WriteTitle("El valor de la nota no es un numero valido");
                }
                finally
                {
                    Printer.WriteTitle("FINALY");
                }
            }
        }
Пример #14
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento;
            var engine = new EscuelaEngine();

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

            Printer.WriteTitle("BIENVENIDO A LA ESCUELA");
            Printer.WriteTitle("Reportes:");
            WriteLine("1. Lista de Evaluaciones.");
            WriteLine("2. Lista de Asignaturas.");
            WriteLine("3. Lista de Evaluaciones por Asignatura.");
            WriteLine("4. Lista de Promedios de Alumnos por Asignatura.");
            WriteLine("5. Lista de Mejores Promedios por Asignatura.");
            WriteLine("Ingrese la opción correspondiente al reporte que desea ver:");
            Printer.PresioneENTER();
            string opcion = Console.ReadLine();

            try
            {
                if (string.IsNullOrWhiteSpace(opcion))
                {
                    Printer.WriteTitle("El valor de la opción no puede ser vacío");
                }
                else
                {
                    if (int.Parse(opcion) < 1 || int.Parse(opcion) > 5)
                    {
                        throw new ArgumentOutOfRangeException("El valor de la opción debe estar entre 1 y 5");
                    }
                    else
                    {
                        switch (int.Parse(opcion))
                        {
                        case 1:
                            var evalList = reporteador.GetListaEvaluaciones();
                            Printer.WriteTitle("LISTA DE EVALUACIONES");
                            reporteador.ImprimirEnumerable(evalList);
                            break;

                        case 2:
                            var listaAsig = reporteador.GetListaAsignaturas();
                            Printer.WriteTitle("LISTA DE ASIGNATURAS");
                            reporteador.ImprimirEnumerable(listaAsig);
                            break;

                        case 3:
                            var listaEvalxAsig = reporteador.GetDicEvaluaxAsig();
                            Printer.WriteTitle("LISTA DE EVALUACIONES POR ASIGNATURA");
                            reporteador.ImprimirDiccionario(listaEvalxAsig);
                            break;

                        case 4:
                            var listaPromxAlum = reporteador.GetPromAlumxAsig();
                            Printer.WriteTitle("LISTA DE PROMEDIOS DE ALUMNOS POR ASIGNATURA");
                            reporteador.ImprimirDiccionario(listaPromxAlum);
                            break;

                        case 5:
                            WriteLine("Ingrese la asignatura para el reporte:");
                            Printer.PresioneENTER();
                            string asignatura = Console.ReadLine();
                            WriteLine("Ingrese la cantidad de promedios para el reporte:");
                            Printer.PresioneENTER();
                            string cantidad = Console.ReadLine();
                            var    listaMejoresPromxAlum = reporteador.GetMejoresPromxAsig(asignatura, int.Parse(cantidad));
                            Printer.WriteTitle($"LISTA DE LOS MEJORES {cantidad} PROMEDIOS PARA LA ASIGNATURA {asignatura.ToUpper()}");
                            reporteador.ImprimirEnumerable(listaMejoresPromxAlum);
                            break;
                        }

                        return;
                    }
                }
            }
            catch (ArgumentOutOfRangeException arg)
            {
                Printer.WriteTitle(arg.Message);
            }
            catch (Exception)
            {
                Printer.WriteTitle("El valor de la opción no es válido");
            }
            finally
            {
                Printer.WriteTitle("FINALIZANDO");
            }
        }
Пример #15
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;
             */
        }
Пример #16
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" });
            /////////////////////////////////////////////////////////////////////
        }
Пример #17
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();
        }
Пример #18
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");
                }
            }
        }
Пример #19
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.");
                }
            }
        }
Пример #20
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);
                }
            }
        }
Пример #21
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.GetListaEvaluaciones();
            var listaAsg       = reporteador.GetListaAsignaturas();
            var listaEvalXAsig = reporteador.GetDicEvaluaXAsig();
            var listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura();
            var topFive        = reporteador.TopFive("Matemáticas", 5);

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

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

            if (string.IsNullOrWhiteSpace(nombre))
            {
                throw new ArgumentException("El valor del nombre no puede estar 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.PresionEnter();
            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 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 numero válido");
                    WriteLine("Saliendo del programa");
                    throw;
                }
                finally
                {
                    Printer.WriteTitle("FINALLY");
                    Printer.Beep(2500, 500, 3);
                }
            }
        }
Пример #22
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();
        }