コード例 #1
0
ファイル: Program.cs プロジェクト: DJhonJ/Escuela
        static void Main(string[] args)
        {
            EscuelaEngine engine = new EscuelaEngine();

            engine.Init();

            Printer.WriteTitle("BIENVENIDO");

            //engine.ImprimirCursos();
            //engine.ImprimirAlumnos();
            //engine.ImprimirEvaluaciones();

            //engine.Escuela.Limpiar();

            //var lista = engine.GetEstructuratEscuelaList();
            //var dictionary = engine.GetEscuelaDictionary();
            //engine.ImprimirDiccionario(dictionary);

            Reporteador reporte = new Reporteador(engine.GetEscuelaDictionary());

            reporte.GetListAsignaturas();
            var evaluaciones = reporte.GetListEvaluaciones();

            Console.ReadKey();
        }
コード例 #2
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
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: anahiza/FundamentosNetCore
        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
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += AccionDelEvento; //anadimos al stack de eventos "ProcessExit" la funcion "AccionDelEvento", osea que los eventos son delegados
            //AppDomain.CurrentDomain.ProcessExit += (s,e) => Printer.Beep(2000,1000,1); //tambien se pueden anadir con expresiones lambda
            //AppDomain.CurrentDomain.ProcessExit -= AccionDelEvento; //esto quita del stack de eventos "ProcessExit", entonces cuando termine el programa, el stack solo tendra 1 evento a ejecutar
            var engine = new EscuelaEngine();

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

            var    reporteador = new Reporteador(engine.getDiccionarioDeObjetos());
            var    eval = reporteador.GetListaEvaluaciones();
            var    asig = reporteador.GetListaAsignaturas();
            var    listaPromXAsig = reporteador.GetPromedioAlumnoPorAsignatura();
            string nombre, notastring;
            float  nota;

            var newEval = new Evaluacion();

            WriteLine("Ingrese el nombre de la evaluacion");
            Printer.PresioneEnter();
            nombre = ReadLine();
            if (string.IsNullOrWhiteSpace(nombre))
            {
                throw new ArgumentException("El valor del nombre no puede estar vacio");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre de la evalucaion ha sido ingresado correctamente");
            }

            WriteLine("Ingrese la nota de la evaluacion");
            Printer.PresioneEnter();
            notastring = ReadLine();
            try
            {
                nota = float.Parse(notastring);
                if (nota < 0 || nota > 5)
                {
                    throw new ArgumentOutOfRangeException("La nota debe ser entre 0.0 y 5.0");
                }
            }
            catch (ArgumentOutOfRangeException aore)
            {
                System.Console.WriteLine(aore.Message);
            }
            catch (Exception)
            {
                Printer.WriteTitle("El valor de la nota no es un valor valido");
            }
            finally{
                System.Console.WriteLine("Modulo Finally");
            }
        }
コード例 #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
ファイル: Program.cs プロジェクト: JuanPabloH/CoreEscuela
        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)
        {
            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);
        }
コード例 #8
0
        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.GetDictionarioObjetos());

            reporteador.GetListaEvaluaciones();
            var lisAsign         = reporteador.GetListaAsignaturas();
            var lisEvalAsign     = reporteador.GetDiccionarioEvaluacionesAsignatura();
            var lisPromedioAsign = reporteador.GetPromedioAlumAsignatura();
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: xDidier901/PLATZI
        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);
        }
コード例 #10
0
        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 listaAsg           = reporteador.GetListaAsignaturas();
            var listaEvalXasig     = reporteador.getDicEvaluaXAsig();
            var listaPromedioXAsig = reporteador.GetPromediosPorAsignatura();

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

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

            WriteLine("Ingrese la nota de la evaluacion");
            Printer.presioneEnter();
            var notaString = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(notaString))
            {
                throw new ArgumentException("El valor de la nota no puede ser vacio");
            }
            else
            {
                newEval.Nota = float.Parse(notaString);
                WriteLine("La nota de la evaluacion ha sido ingresado correctamente");
            }
        }
コード例 #11
0
        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.GetDiccionarioObjeto());

            reporteador.GetListaEvaluaciones();
            var listaPromedioXAsig = reporteador.GetPromAlumnoPorAsignatura();
            // //Printer.Beep(10000, cantidad: 10);
            // ImpimirCursosEscuela(engine.Escuela);
            // //    int conteoEvaluaciones, conteoAlumnos, conteoAsignaturas, conteoCursos;
            // var dictmp = engine.GetDiccionarioObjeto();
            // engine.ImprimirDiccionario(dictmp, true);
        }
コード例 #12
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();
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: uriberma/c-Sharp-basico
        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));
        }
コード例 #14
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");
                }
            }
        }
コード例 #15
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");
            }
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: hernanpinos15/Proyecto_C-
        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;
             */
        }
コード例 #17
0
        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
                {
                }
            }
        }
コード例 #18
0
ファイル: Program.cs プロジェクト: Duvan16/CoreEscuela
        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" });
            /////////////////////////////////////////////////////////////////////
        }
コード例 #19
0
ファイル: Program.cs プロジェクト: georgetegral/CoreEscuela
        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);
            }
        }
コード例 #20
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();
        }
コード例 #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());

            //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);
                }
            }
        }
コード例 #22
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.");
                }
            }
        }
コード例 #23
0
        static void Main(string[] args)
        {
            // evento
            AppDomain.CurrentDomain.ProcessExit += AcciondelEvento;

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

            var engine = new EscuelaEngine();

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

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


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

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

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

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

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

            dicccionario.Add(10, "Juan");

            dicccionario.Add(11, "Yonathan");

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

            var dictmp = engine.GetDiccionarioOjetos();

            engine.ImprimirDiccionario(dictmp, true);

            /* Printer.Title("Acceso al diccionario");
             * dicccionario[0] = "Pekerman";
             * WriteLine(dicccionario[0]); // accediendo al valor por medio de la llave dentro del diccionario
             * Printer.Title("Otro diccionario");
             *
             * var dic = new Dictionary<string, string>();
             *
             * dic["luna"] = "satelite de la tierra";
             * WriteLine(dic["luna"]); */
            // dic.Add("luna", "personaje de tv");
            // WriteLine(dic["luna"]); // en este caso no sirve porque una cosa es remplazar el valor de la llave y otra adicionar una llave igual...
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: RicardoLoyaga/.NetCore
        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");
                }
            }
        }
コード例 #25
0
        static void Main(string[] args)
        {
            var engine = new EscuelaEngine();

            engine.Inicializador();

            WriteLine("BIENVENIDOS A LA ESCUELA");

            var reporteador                     = new Reporteador(engine.GetOjetosEscuelaDiccionario());
            var evalList                        = reporteador.GetListaEvaluaciones();
            var asigEavalList                   = reporteador.GetListaAsignaturasEvaluadas();
            var evalPorAsignaturasLista         = reporteador.GetDiccionarioEvaluacionesPorAsignatura();
            var promedioPorAsignatura           = reporteador.GetDiccionarioPromedioAlumnosPorAsignatura();
            var TopPromedioAlumnosPorAsignatura = reporteador.GetTopPromedioAlumnosPorAsignatura(5);


            Printer.WriteTitle("Captura de una evaluación por consola");
            var    newEval = new Evaluacion();
            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 es requerido");
                WriteLine("Saliendo del programa");
            }
            else
            {
                newEval.Nombre = nombre.ToLower();
                WriteLine("El nombre fue 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 es requerido");
             *  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 fue ingresada correctamente");
            }
            catch (System.ArgumentOutOfRangeException ex)
            {
                Printer.WriteTitle(ex.Message);
                WriteLine("Saliendo del programa");
            }
            catch (System.Exception)
            {
                Printer.WriteTitle("El valor de la nota no es un número válido");
                WriteLine("Saliendo del programa");
            }
            finally
            {
                Printer.WriteTitle("Finally se ejecuta siempre");
            }
            /*  } */

            /* WriteLine(engine.Escuela);
             * ImprimirCursosEscuela(engine.Escuela);
             *
             * var listaObjetos = engine.GetObjetosEscuelas(
             *  out int conteoEvaluaciones,
             *  out int conteoAlumnos,
             *  out int conteoAsignaturas,
             *  out int conteoCursos
             * );
             *
             * /// Filtramos la lista de objetas que implementen la interfaz Ilugar.
             * var listaIlugar = from obj in listaObjetos
             *                where obj is ILugar
             *                select (ILugar)obj;
             *
             * var dictmp = engine.GetOjetosEscuelaDiccionario();
             * engine.ImprimirDicionario(dictmp, imprAl:true, imprCur:true); */
        }
コード例 #26
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);
        }
コード例 #27
0
ファイル: Program.cs プロジェクト: jsantamv/C-NetCore
        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);
                }
            }
        }
コード例 #28
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);
                }
            }
        }
コード例 #29
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();
        }