示例#1
0
        static void TomarAsistencia(Preceptor p)
        {
            List <Asistencia> nuevaAsistencia = new List <Asistencia>();
            // Ingreso fecha
            string fecha;
            int    day;
            int    month;
            int    year;

            day   = Validacion.PedirEntero("Ingrese dia");
            month = Validacion.PedirEntero("Ingrese mes");
            year  = Validacion.PedirEntero("Ingrese año");

            fecha = $"{year}-{month}-{day}";

            // Listar los alumnos

            foreach (Alumno item in _presentismo.ListaAlumnos)
            {
                if (item is AlumnoRegular)
                {
                    bool       presente   = Validacion.PedirBooleano("Ingrese 1 para presente, 2 para ausente");
                    Asistencia asistencia = new Asistencia(fecha, DateTime.Now, p, item, presente);
                    nuevaAsistencia.Add(asistencia);
                }
            }

            _presentismo.AgregarAsistencia(nuevaAsistencia, fecha);
            // para cada alumno solo preguntar si está presente
            // agrego la lista de asistencia
            // Error: mostrar el error y que luego muestre el menu nuevamente
        }
示例#2
0
        static void TomarAsistencia(Preceptor p)
        {
            // Ingreso fecha

            List <Asistencia> asistencias = new List <Asistencia>();

            Console.WriteLine("Ingrese una fecha");
            string fecha = Console.ReadLine();

            // Listar los alumnos
            try
            {
                Console.WriteLine(_presentismo.GetListaAlumnos(_presentismo.Alumnos));
            }
            catch (SinAlumnosRegistradosException ex)
            {
                Console.WriteLine((ex.Message));
            }
            // para cada alumno solo preguntar si está presente

            foreach (Alumno a in _presentismo.Alumnos)
            {
                if (a is AlumnoRegular)
                {
                    bool presente = false;
                    Console.WriteLine(a.ToString());
                    Console.WriteLine("¿está presente? (S/N)");
                    string asistencia = Console.ReadLine();
                    if (asistencia.Equals("S"))
                    {
                        presente = true;
                    }
                    asistencias.Add(new Asistencia(fecha, a, p, presente));
                }
            }
            // agrego la lista de asistencia
            // Error: mostrar el error y que luego muestre el menu nuevamente
            try
            {
                _presentismo.AgregarAsistencia(asistencias, fecha);
            }
            catch (AsistenciaExistenteEseDiaException ex)
            {
                Console.WriteLine(ex.Message);
                DesplegarOpcionesMenu();
            }
        }
示例#3
0
        static void TomarAsistencia(Preceptor p)
        {
            List <Asistencia> listaAsistencia = new List <Asistencia>();

            // entrada y validacion de datos
            DateTime fechaReal       = _consola.IngresarTiempo();
            string   fechaAsistencia = Convert.ToString(fechaReal);

            bool yaRegistrada = _presentismo.AsistenciaRegistrada(fechaAsistencia);

            if (yaRegistrada)
            {
                throw new AsistenciaExistenteEseDiaException($"ya existen asistencias con esta fecha {fechaAsistencia}.");
            }

            List <Alumno> listaAlumnos = _presentismo.GetListaAlumnos();

            if (listaAlumnos.Count() == 0)
            {
                throw new SinAlumnosRegistradosException("no existen alumnos registrados para tomar asistencia.");
            }

            // generacion de asistencia por cada alumno en la lista
            foreach (Alumno alumno in listaAlumnos)
            {
                _consola.MostrarMensaje($"esta presente el alumno {alumno.Display()}? (si / no)");

                string respuesta = _consola.IngresarOpcion(new List <string> {
                    "si", "no"
                });
                bool presente = respuesta == "si";

                Asistencia nuevaAsistencia = new Asistencia(fechaAsistencia, fechaReal, p, alumno, presente);

                listaAsistencia.Add(nuevaAsistencia);
            }
            _presentismo.AgregarAsistencia(listaAsistencia);
        }