public static void EliminarCurso() { Program.ImprimirNegativo("Eliminar Curso"); Console.WriteLine("Seleccione el NRC del curso a eliminar:"); ImprimirCursos(); List <string> listadoNRC = Aplicacion.GetCursoCurricular().Select(x => x.nrc).ToList(); string option = ""; while (!listadoNRC.Contains(option)) { Console.Write("NRC:> "); option = Console.ReadLine(); } CursoCurricular curso = Aplicacion.GetCursoCurricular().Find(x => x.nrc == option); Aplicacion.cursos.Remove(curso); Program.ImprimirPositivo($"Curso {curso.nombre} removido exitosamente!"); Console.WriteLine("Presione cualquier tecla para continuar..."); Console.ReadKey(); return; }
public static void ImprimirCursos() { foreach (CursoCurricular curso in Aplicacion.GetCursoCurricular()) { Console.WriteLine($"NRC: {curso.nrc}, Nombre: {curso.nombre}"); } return; }
public static void CrearCursoCurricular() { Console.Clear(); List <string> listadoNRC = Aplicacion.GetCursoCurricular().Select(x => x.nrc).ToList(); Console.Write("NRC:> "); string nrc = Console.ReadLine(); if (listadoNRC.Contains(nrc)) { do { Program.ImprimirNegativo("Ese NRC ya existe"); Console.Write("Ingrese otro NRC:> "); nrc = Console.ReadLine(); } while (listadoNRC.Contains(nrc)); } Console.Write("Nombre: "); string nombre = Console.ReadLine(); Console.Write("Profesor: "); string profesor = Console.ReadLine(); Console.Write("Creditos: "); int creditos = Convert.ToInt32(Console.ReadLine()); Console.Write("Especialidad:\n"); for (int i = 0; i <= 5; i++) { Console.WriteLine(i + 1 + ". " + Enum.GetName(typeof(Especialidad), i)); } Especialidad especialidad = (Especialidad)Program.ChequearOpcion(1, 6); List <Evento> listaEventos = new List <Evento>(); int quiereAgregarEv = 1; while (quiereAgregarEv == 1) { listaEventos.AddRange(CrearEventoMati(listaEventos)); Console.WriteLine("¿Quiere agregar otro evento?\n" + "1. Si\n" + "2. No "); int opcion = Program.ChequearOpcion(1, 2); if (opcion == 2) { quiereAgregarEv = 2; } } Program.ImprimirPositivo("Curso agregado"); Aplicacion.AñadirCurso(new CursoCurricular(nrc, creditos, new List <CursoCurricular>(), especialidad, listaEventos, nombre, profesor, TipoCurso.Curricular)); Console.Write("Presione una tecla para continuar"); Console.ReadKey(); }
public static bool CrearCursoCurricular(string nrc, string nombreCurso, string profesor, int creditos, Especialidad especialidad, List <Evento> eventosCurso) { List <string> listadoNRC = Aplicacion.GetCursoCurricular().Select(x => x.nrc).ToList(); if (listadoNRC.Contains(nrc)) { return(false); } CursoCurricular c = Aplicacion.cursos[3]; Aplicacion.AñadirCurso(new CursoCurricular(nrc, creditos, new List <string>(), especialidad, eventosCurso, nombreCurso.ToUpper(), profesor, TipoCurso.Curricular)); return(true); }
public static void LeerCurso() { LeerCurso: Console.Clear(); Program.ImprimirBanner("Leer Curso"); ImprimirCursos(); Console.WriteLine("\nSeleccione El NRC del curso que desea leer: "); List <string> listadoNRC = Aplicacion.GetCursoCurricular().Select(x => x.nrc).ToList(); string option = ""; do { Console.Write("NRC:> "); option = Console.ReadLine(); if (!listadoNRC.Contains(option)) { Program.ImprimirNegativo("NRC No Valido"); } } while (!listadoNRC.Contains(option)); CursoCurricular curso = Aplicacion.GetCursoCurricular().Find(x => x.nrc == option); Console.Clear(); Console.WriteLine($"NRC: {curso.nrc}\nNombre: {curso.nombre}\n" + $"Creditos: {curso.creditos}\nProfesor: {curso.profesor}\nEventos:\n"); foreach (Evento evento in curso.eventosCurso) { Console.WriteLine($"\t{evento.nombre} [{evento.tipo.ToString()}] hora:{evento.hora} fecha:{evento.fecha}"); } Console.Write("\n¿Leer Otro Curso?\n" + "1. Si\n" + "2. No\n:> "); int opcion = Program.ChequearOpcion(1, 2); if (opcion == 1) { goto LeerCurso; } if (opcion == 2) { Console.Clear(); return; } else { return; } }
public static bool ActualizarCurso(string nrc, string parametro, object cambio) { CursoCurricular curso = Aplicacion.GetCursoCurricular().Find(x => x.nrc == nrc); if (parametro == "nrc") { foreach (CursoCurricular c in Aplicacion.GetCursoCurricular()) { if (c.nrc == cambio.ToString()) { MessageBox.Show("Ese NRC ya existe"); return(false); } } curso.nrc = cambio.ToString(); } else if (parametro == "nombre") { curso.nombre = cambio.ToString(); } else if (parametro == "creditos") { curso.creditos = Int32.Parse(cambio.ToString()); } else if (parametro == "especialidad") { curso.especialidad = (Especialidad)Enum.Parse(typeof(Especialidad), cambio.ToString()); } else if (parametro == "profesor") { curso.profesor = cambio.ToString(); } return(true); }
static void InscribirCurso(Estudiante estudiante) { int quiereAgregar = 1; while (quiereAgregar == 1) { if (Aplicacion.GetCursoCurricular().Count == 0) { Console.WriteLine("No hay cursos disponibles para inscribir"); goto SinCursosDisponiblesParaInscribir; } Console.WriteLine("Seleccione un curso para inscribir: "); foreach (CursoCurricular curs in Aplicacion.GetCursoCurricular()) { Console.WriteLine("NRC:{0}\nNombre: {1}\nProfesor: {2}\n", curs.nrc, curs.nombre, curs.profesor); } List <string> listadoNRC = Aplicacion.GetCursoCurricular().Select(x => x.nrc).ToList(); string option = ""; do { Console.Write("NRC:> "); option = Console.ReadLine(); if (!listadoNRC.Contains(option)) { Program.ImprimirNegativo("NRC No Valido"); } } while (!listadoNRC.Contains(option)); CursoCurricular curso = Aplicacion.GetCursoCurricular().Find(x => x.nrc == option); bool compatibilidad = ChequearCompatibilidad(estudiante, curso); if (estudiante.listaInscripcion.Contains(curso)) { Program.ImprimirNegativo($"El curso {curso.nombre} ya esta agregado\n"); } else if (compatibilidad == false) { Program.ImprimirNegativo($"El curso {curso.nombre} posee un tope de horario\n"); } else { estudiante.listaInscripcion.Add(curso); Program.ImprimirPositivo("Curso agregado"); Program.Log(quiereAgregar.ToString(), "Agregar curso"); } Console.WriteLine("\n¿Quiere agregar otro curso?\n" + "1. Si\n" + "2. No"); int opcion = Program.ChequearOpcion(1, 2); if (opcion == 2) { quiereAgregar = 2; } } SinCursosDisponiblesParaInscribir: return; }
public static Estudiante InscribirCurso(Estudiante estudiante, string cursoInscripcion) { CursoCurricular curso = Aplicacion.GetCursoCurricular().Find(x => x.nrc == cursoInscripcion); bool compatibilidadHorario = ChequearCompatibilidadHorario(estudiante, curso); bool compatibilidadPreRequisito = ChequearCompatibilidadPreRequisito(estudiante, curso); bool compatibilidadEspecialidadyConcentracion = ChequearCompatibilidadEspecialidadyConcentracion(estudiante, curso); bool compatibilidadCantidadCreditos = ChequearCompatibilidadCantidadCreditos(estudiante, curso); if (estudiante.listaInscripcion.Contains(curso)) { MessageBox.Show("El Curso ya está inscrito.", "Error de Inscripción"); } else { if ((compatibilidadHorario == false) || (compatibilidadPreRequisito == false) || (compatibilidadEspecialidadyConcentracion == false) || (compatibilidadCantidadCreditos == false)) { if (compatibilidadHorario == false) { MessageBox.Show($"El curso {curso.nombre} posee un tope de horario\n", "Error de Inscripción"); } if (compatibilidadPreRequisito == false) { //MessageBox.Show($"Todavia no has aprobado cursos prerequisitos del curso {curso.nombre}", "Error de Inscripcion"); //MessageBox.Show($"No has aprobado {cursosNoAprobados[0]}"); cursosNoAprobados.Insert(0, $"Todavía no has aprobado los siguientes cursos, que son prerrequisitos de {curso.nombre}:"); var mensaje = string.Join(Environment.NewLine, cursosNoAprobados); cursosNoAprobados.RemoveAt(0); MessageBox.Show(mensaje); } if (compatibilidadEspecialidadyConcentracion == false) { MessageBox.Show($"El curso {curso.nombre} es de la especialidad {curso.especialidad}, pero tú eres de {estudiante.especialidad}, y tu concenctración tecnológica es {estudiante.concentracion}", "Error de Inscripción"); } if (compatibilidadCantidadCreditos == false) { MessageBox.Show($"Al inscribir {curso.nombre} tendrías {ContarCreditos(estudiante) + curso.creditos} créditos, y no puedes exceder los 11", "Error de Inscripción"); } //MessageBox.Show($"El curso {curso.nombre} es de la especialidad {curso.especialidad}, pero tú eres de {estudiante.especialidad}", "Error de Inscripción"); } /* * else if ((compatibilidadHorario == false) || (compatibilidadPreRequisito == false)) * { * MessageBox.Show($"No puedes inscribir el curso {curso.nombre}", "Error de Inscripcion"); * } */ else { //MessageBox.Show("Agregado Exitosamente"); estudiante.listaInscripcion.Add(curso); //cantidadCreditos += curso.creditos; MessageBox.Show(curso.nombre + " inscrito con éxito"); MessageBox.Show($"Llevas {ContarCreditos(estudiante)} créditos"); return(estudiante); } } return(estudiante); }