private static void GenerarReporte(string reporte) { var Engine = new EscuelaEngine(); var dicttmp = Engine.GetDiccionarioObjetos(); var Reporteador = new Reporteador(dicttmp); switch (reporte) { case "1": Console.WriteLine("Inicializando Reporte Evaluaciones.."); Reporteador.GetListaEvaluaciones(); Console.WriteLine("Terminado Reporte Evaluaciones."); break; case "2": Console.WriteLine("Inicializando Reporte Asignaturas.."); Reporteador.GetListaAsignaturas(); Console.WriteLine("Terminado Reporte Asignaturas."); break; case "3": Console.WriteLine("Inicializando Reporte Evaluaciones por asignatura.."); Reporteador.GetEvalXAsig(); Console.WriteLine("Terminado Reporte Evaluaciones por asignatura."); break; case "4": Console.WriteLine("Inicializando Reporte Promedio de alumnos por asignatura.."); Reporteador.GetPromeAlumnPorAsignatura(); Console.WriteLine("Terminado Reporte Promedio de alumnos por asignatura."); break; default: Console.WriteLine("No se ha seleccionado una opcion valida para algún Reporte"); break; } }
//private static Cursos cursotemp; 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"); //Printer.Beep(10000, cantidad:10); //imprimirCursosEscuela(engine.Escuela); var reporteador = new Reporteador(engine.GetDiccionarioObjetos()); var evalList = reporteador.GetListaEvaluaciones(); var listaAsig = reporteador.GetListaAsignaturas(); var listaEvalXAsignatura = reporteador.GetDicEvaluacionesXAsig(); var listaProemdioXAsig = reporteador.GetPromeAlumPorAsignatura(); var mejorPromedio = reporteador.GetMejoresPromedioXAsig("Matematicas", 10); Printer.WriteTitle("Captura de una Evaluacion por Consola"); var newEval = new Evaluaciones(); string nombre, notaString; float nota; WriteLine("Ingrese el nombre de la Evaluacion"); Printer.PrecioneENTER(); nombre = 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 Evaluacion ha sido ingresado correctamente"); } WriteLine("Ingrese la nota de la Evaluacion"); Printer.PrecioneENTER(); notaString = 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 Evaluacion ha sido ingresado correctamente"); } catch (ArgumentOutOfRangeException arge) { Printer.WriteTitle(arge.Message); WriteLine("Saliendo del programa"); } catch (System.Exception) { Printer.WriteTitle("El valor de la nota no parece es un numero valido"); WriteLine("Saliendo del programa"); } finally { Printer.WriteTitle("FINALLY"); Printer.Beep(2500, 500, 3); } } /* foreach (var item in listaProemdioXAsig) * { * foreach (var alum in item.Value) * { * var tmp = alum as Alumnos; * * } * } */ /* var dictmp = engine.GetDiccionarioObjetos(); * * engine.ImprimirDiccionario(dictmp,true); */ /* Printer.WriteTitle("Diccionario"); * var dic = new Dictionary<String, String>(); * dic["luna"] = "cuerpo celeste que gira alrededor de la tierra"; * WriteLine(dic["luna"]); * /* dic.Add("luna", "Protagonista de soy Luna"); * WriteLine("luna"); */ //var obj = new ObjetoEscuelaBase(); /* Printer.DrawLine(20); * Printer.DrawLine(20); * Printer.DrawLine(20); * Printer.WriteTitle("Pruebas de Polimorfismo"); * var alumnoTest = new Alumnos{Nombre = "Nahuel Schimpf"}; * Printer.WriteTitle("Alumno"); * WriteLine($"Alumno: {alumnoTest.Nombre}"); * WriteLine($"Id: {alumnoTest.UniqueId}"); * WriteLine($"Typo: {alumnoTest.GetType()}"); * * ObjetoEscuelaBase ob = alumnoTest; * WriteLine("ObjetoEscuela"); * WriteLine($"Nombre: {ob.Nombre}"); * WriteLine($"Id: {ob.UniqueId}"); * WriteLine($"Typo: {ob.GetType()}"); * * var evaluacion = new Evaluaciones(){Nombre="Evaluacion de Matematicas",Nota=4.5f}; * Printer.WriteTitle("Evaluacion"); * WriteLine($"Evaluacion: {evaluacion.Nombre}"); * WriteLine($"Id: {evaluacion.Nota}"); * WriteLine($"Id: {evaluacion.UniqueId}"); * WriteLine($"Typo: {evaluacion.GetType()}"); * * //ob = evaluacion; * WriteLine("ObjetoEscuela"); * WriteLine($"Nombre: {ob.Nombre}"); * WriteLine($"Id: {ob.UniqueId}"); * WriteLine($"Typo: {ob.GetType()}"); * * if(ob is Alumnos) * { * Alumnos alumnoRecuperado = (Alumnos)ob; * } * * Alumnos alumnoRecuperado2 = ob as Alumnos;*/ /* var escuela = new Escuela("Platzi Academy", 2012,TiposEscuela.Primaria, * ciudad: "Bogota", pais: "Colombia"); * * // es una coleccion * var listaCursos = new List<Cursos>(){ * new Cursos(){Nombre = "101", Jornada = TipoJornada.Mañana}, * new Cursos(){Nombre = "201", Jornada = TipoJornada.Mañana}, * new Cursos(){Nombre = "301", Jornada = TipoJornada.Mañana} * }; * escuela.Curso = listaCursos; * escuela.Curso.Add( new Cursos{Nombre = "102", Jornada = TipoJornada.Tarde}); * escuela.Curso.Add(new Cursos { Nombre = "202", Jornada = TipoJornada.Tarde}); * * // otra coleccion * var otraColeccion = new List<Cursos>(){ * new Cursos(){Nombre = "401", Jornada = TipoJornada.Mañana}, * new Cursos(){Nombre = "501", Jornada = TipoJornada.Mañana}, * new Cursos(){Nombre = "501", Jornada = TipoJornada.Tarde} * }; * * //cursotemp = new Cursos{Nombre = "101-Vacacional", Jornada = TipoJornada.Noche}; * escuela.Curso.AddRange(otraColeccion); * //escuela.Curso.Add(cursotemp); */ /* imprimirCursosEscuela(escuela); * //WriteLine("Curso hash" + cursotemp.GetHashCode()); * //escuela.Curso.Remove(cursotemp); * * // una manera de buscar el indice y borrarlo * //Predicate<Cursos> miAlgoritmo = Predicado; * //escuela.Curso.RemoveAll(Predicado); * * // otra manera * escuela.Curso.RemoveAll(delegate (Cursos cur) * { * return cur.Nombre == "301"; * }); * * // otra manera mas reducida, llamada expresion lambda * escuela.Curso.RemoveAll((cur)=> cur.Nombre == "501" && cur.Jornada == TipoJornada.Mañana); */ // array /* escuela.Curso = new Cursos[]{ * new Cursos(){Nombre = "101"}, * new Cursos(){Nombre = "201"}, * new Cursos(){Nombre = "301"} * }; */ // otra manera de asignacion /* escuela.Pais = "Colombia"; * escuela.Ciudad = "Bogota"; */ // una forma de declarar el arreglo /* var arregloCursos = new Cursos[]{ * new Cursos() * { * Nombre = "101" * * }, * new Cursos() * { * Nombre = "201" * * }, * new Cursos() * { * Nombre = "301" * * } * }; */ // otra forma /* Cursos[] arregloCursos = { * new Cursos(){Nombre = "101"}, * new Cursos(){Nombre = "201"}, * new Cursos(){Nombre = "301"} * }; */ /* Console.WriteLine(escuela); * System.Console.WriteLine("While ==================="); * imprimirArregloWhile(arregloCursos); * System.Console.WriteLine("Do While ==================="); * imprimirArregloDoWhile(arregloCursos); * System.Console.WriteLine("For ==================="); * imprimirArregloFor(arregloCursos); * System.Console.WriteLine("ForEach ==================="); * imprimirArregloForEach(arregloCursos); */ }