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 }
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(); } }
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); }