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