Ejemplo n.º 1
0
        public void CargarEvaluaciones()
        {
            var lista = new List <Evaluación>();

            foreach (var curso in Escuela.Cursos)
            {
                foreach (var asignatura in curso.Asignaturas)
                {
                    foreach (var alumno in curso.Alumnos)
                    {
                        var rnd = new Random();

                        for (int i = 0; i < 5; i++)
                        {
                            var eval = new Evaluación
                            {
                                Asignatura = asignatura,
                                Nombre     = $"{asignatura.Nombre} Ev#{i+1}",
                                Nota       = (float)(5 * rnd.NextDouble()),
                                Alumno     = alumno
                            };
                            alumno.Evaluaciones.Add(eval);
                        }
                    }
                }
            }
        }
        /// 5 Evaluaciones X Asignatura
        /// Notas al azar entre 0 y 0.5
        /// Cada curso tiene una lista de asignaturas y
        /// cada curso tiene una lista de alumnos.
        /// Cada Evaluación esta mapeada con un alumno y
        /// una asignatura.
        // Nombre de la evaluación creada al azar.
        //
        private void CargarEvaluaciones()
        {
            Random rnd = new Random();

            foreach (var curso in Escuela.Cursos)
            {
                string[] formato        = { "Presencial", "Web", "Grabado", "Preadquirido" };
                string[] TipoEvaluacion = { "Escrito", "Práctico", "Oral" };
                foreach (var alumno in curso.Alumnos)
                {
                    foreach (var asignatura in curso.Asignaturas)
                    {
                        for (int cont = 0; cont < 5; cont++)
                        {
                            string fo         = formato[rnd.Next(0, formato.Length)];
                            string ti         = TipoEvaluacion[rnd.Next(0, TipoEvaluacion.Length)];
                            var    evaluacion = new Evaluación()
                            {
                                Nombre     = $"Examen {fo} {ti} de {alumno.Nombre}",
                                Alumno     = alumno,
                                Asignatura = asignatura,
                                Nota       = Math.Round(rnd.NextDouble() * 5, 2)
                            };

                            alumno.Evaluaciones.Add(evaluacion);
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void CargarEvaluaciones()
        {
            var rnd = new Random();

            foreach (var curso in Escuela.Cursos)
            {
                foreach (var asignatura in curso.Asignaturas)
                {
                    foreach (var alumno in curso.Alumnos)
                    {
                        for (int i = 0; i < 5; i++)
                        {
                            var evaluacion = new Evaluación()
                            {
                                Nombre     = $"{asignatura.Nombre} Evaluación #{i + 1}",
                                Alumno     = alumno,
                                Asignatura = asignatura,
                                Nota       = MathF.Round((float)rnd.NextDouble() * 5, 2)
                            };
                            alumno.Evaluaciones.Add(evaluacion);
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
        private static void PruebasDePolimorfismo()
        {
            Printer.DrawLine(20);
            Printer.DrawLine(20);
            Printer.DrawLine(20);
            Printer.WriteTitle("Pruebas de Polimorfismo");
            var alumnoTest = new Alumno {
                Nombre = "Claire Underwood"
            };

            ObjetoEscuelaBase ob = alumnoTest;

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

            Printer.WriteTitle("ObjetoEscuelaBase");
            WriteLine($"Alumno: {ob.UniqueId}");
            WriteLine($"Alumno: {ob.GetType()}");

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

            Printer.WriteTitle("ObjetoEscuelaBase");
            WriteLine($"Alumno: {objetoDummy.UniqueId}");
            WriteLine($"Alumno: {objetoDummy.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)evaluación;
            Printer.WriteTitle("Evaluación");
            WriteLine($"Evaluación: {ob.Nombre}");
            WriteLine($"Evaluación: {ob.UniqueId}");
            WriteLine($"Evaluación: {evaluación.Nota}");
            WriteLine($"Evaluación: {ob.GetType()}");
            if (ob is Alumno)
            {
                Alumno alumnoRecuperado = (Alumno)ob;
            }
            else if (ob is Evaluación)
            {
                Evaluación evaluaciónRecuperada = (Evaluación)ob;
            }

            Alumno alumnoRecuperadoB = ob as Alumno;

            System.Console.WriteLine(alumnoRecuperadoB);
            Evaluación evaluaciónRecuperadaB = ob as Evaluación;

            System.Console.WriteLine(evaluaciónRecuperadaB);

            //alumnoTest= (Alumno) ob;//Marca error ya que no se creo como objeto Alumno.
            //alumnoTest= (Alumno) objetoDummy;//Exepcion
        }
Ejemplo n.º 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");
            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.");
                }
            }
        }
Ejemplo n.º 6
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");
                }
            }
        }
Ejemplo n.º 7
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" });
            /////////////////////////////////////////////////////////////////////
        }
Ejemplo n.º 8
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 listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura();

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

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

            if (string.IsNullOrWhiteSpace(nombre))
            {
                Printer.WriteTitle("El 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.PresioneENTER();
            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 > 10)
                    {
                        throw new ArgumentOutOfRangeException("La nota debe estar entre 0 y 10");
                    }
                    WriteLine("La nota de la evaluación 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");
                }
                finally
                {
                    WriteLine("FINALLY");
                }
            }
        }