public Inscripcion(Persona persona, Curso curso, DateTime fechaInscripcion) { Persona = persona; Curso = curso; FechaInscripcion = fechaInscripcion; }
static public void RegistrarCurso() { Console.WriteLine("\nREGISTRO DE CURSOS"); Console.WriteLine("\nIngrese el nombre del curso:"); string nombreCurso = Console.ReadLine(); Console.WriteLine("\nIngrese la fecha de comienzo del curso:"); DateTime fechaInicioCurso = DateTime.Parse(Console.ReadLine()); Console.WriteLine("\nIngrese la fecha de finalizacion del curso:"); DateTime fechaFinalizacionCurso = DateTime.Parse(Console.ReadLine()); Console.WriteLine("\nIngrese la fecha que finaliza la inscripcion del curso:"); DateTime fechaFinInscripcion = DateTime.Parse(Console.ReadLine()); Console.WriteLine("\nIngrese los dias en que se va a dictar el curso:"); string diasCurso = Console.ReadLine(); Console.WriteLine("\nIngrese el horario en que se va a dictar el curso:"); string horariosCurso = Console.ReadLine(); Console.WriteLine("\nIngrese el numero de aula en que se va a dictar el curso:"); int aulaCurso = int.Parse(Console.ReadLine()); Console.WriteLine("\nIngrese el cupo maximo de personas que tiene el curso:"); int cupoDisponibleCurso = int.Parse(Console.ReadLine()); Console.WriteLine("\nIngrese el cupo minimo de personas que tiene que tener el curso:"); int cupoMinimoCurso = int.Parse(Console.ReadLine()); while (true) { Console.WriteLine("\nSeleccione el docente que va a dictar el curso:"); RegistroDocente.MostrarDocentes(); Docente docenteCurso; var opcionElegidaDocente = Console.ReadLine(); if ((int.TryParse(opcionElegidaDocente, out var value))) { if (value >= 1 && value <= RegistroDocente.Docentes.Count) { docenteCurso = RegistroDocente.Docentes[int.Parse(opcionElegidaDocente) - 1]; Docente.Add(docenteCurso); Console.WriteLine("\n¿Desea cargar otro docente al curso? \n1-Si \n2-No"); var opcionElegidaCargarDocente = Console.ReadLine(); Console.Clear(); if (int.Parse(opcionElegidaCargarDocente) == 2) { Curso curso = new Curso(nombreCurso, fechaInicioCurso, fechaFinalizacionCurso, fechaFinInscripcion, diasCurso, horariosCurso, aulaCurso, cupoDisponibleCurso, cupoMinimoCurso, Docente); Cursos.Add(curso); var cursoJson = JsonConvert.SerializeObject(Cursos, Formatting.Indented); System.IO.File.WriteAllText("Cursos.Json", cursoJson); break; } } else { Console.WriteLine("VALOR INGRESADO INCORRECTO, Ingrese un valor mayor a 1 y menor a " + RegistroDocente.Docentes.Count); } } } }
public Inscripcion(Curso curso, Persona persona) { Curso = curso; Persona = persona; }
static public bool ProcesoCursos() { while (true) { Console.WriteLine("¿Que desea hacer? \n1- Registrar un nuevo curso \n2- Anotarse a un curso"); var opcionElegidaInicio = Console.ReadLine(); Console.Clear(); while (int.TryParse(opcionElegidaInicio, out _) == false) { Console.WriteLine("VALOR INGRESADO INCORRECTO, Ingrese un valor entre 1 y 3"); } if (int.Parse(opcionElegidaInicio) == 1) { Curso.RegistrarCurso(); } if (int.Parse(opcionElegidaInicio) == 2) { string ArchivoPersonas = System.IO.File.ReadAllText("Personas.json"); List <Persona> personaJson = JsonConvert.DeserializeObject <List <Persona> >(ArchivoPersonas); string ArchivoCursos = System.IO.File.ReadAllText("Cursos.json"); List <Curso> cursoJson = JsonConvert.DeserializeObject <List <Curso> >(ArchivoCursos); if (cursoJson.Count > 0) { Curso.Cursos = cursoJson; } if (personaJson.Count > 0) { Console.Clear(); Curso.MostrarCursos(); Console.WriteLine("Seleccione el curso al que desea anotarse:"); Curso cursoElegido; while (true) { var opcionElegidaCurso = Console.ReadLine(); if (int.TryParse(opcionElegidaCurso, out var value)) { if (value >= 1 && value <= Curso.Cursos.Count) { cursoElegido = Curso.Cursos[value - 1]; Persona.MostrarPersonas(); Persona personaElegida; while (true) { var opcionElegidaPostulante = Console.ReadLine(); if (int.TryParse(opcionElegidaPostulante, out var value1)) { if (value1 >= 1 && value1 <= personaJson.Count) { personaElegida = personaJson[value1 - 1]; DateTime fechaInscripcion = DateTime.Now; Inscripcion inscripcion = new Inscripcion(personaElegida, cursoElegido, fechaInscripcion); Inscripcion.Inscripciones.Add(inscripcion); var inscripcionJson = JsonConvert.SerializeObject(Inscripcion.Inscripciones, Formatting.Indented); System.IO.File.WriteAllText("Inscripcion.Json", inscripcionJson); Console.Clear(); Inscripcion.MostrarInscripcion(); break; } else { Console.WriteLine("VALOR INGRESADO INCORRECTO, Ingrese un valor mayor a 0 y menor a " + personaJson.Count); } break; } } break; } else { Console.WriteLine("VALOR INGRESADO INCORRECTO, Ingrese un valor mayor a 0 y menor a " + Curso.Cursos.Count); } break; } } } else { Console.WriteLine("No hay ninguna persona registrada, por favor registrese"); Persona.RegistrarPersona(); } } Console.WriteLine("\nDesea seguir navegando? \n1- Sí \n2- No"); var opcionElegidaSeguir = int.Parse(Console.ReadLine()); Console.Clear(); if (opcionElegidaSeguir == 1) { return(false); } else { return(true); } } }
static void Main(string[] args) { while (true) { Console.WriteLine("¿Que desea hacer?: \n 1- Inscribir a un curso \n 2- Registrar una persona \n 3- Agregar un curso nuevo \n 4-Agregar docente a curso \n 5- Salir"); var decision = Console.ReadLine(); while (decision != "1" && decision != "2" && decision != "3" && decision != "4" && decision != "5") { Console.WriteLine($"¿Que desea hacer?: \n 1- Inscribirte a un curso \n 2- Registrar una persona \n 3- Agregar un curso nuevo \n 4-Agregar docente a curso \n 5- Salir"); decision = System.Console.ReadLine(); } //salir if (decision == "5") { break; } //Inscribirse a un curso if (decision == "1") { Persona personaInscripta; //MOSTRAR PUBLICO if (RegistroPersona.personas.Count() > 0) { Console.WriteLine("Seleccione la persona que quiere inscribir:"); MostrarPersonas(); string personaElegido = Console.ReadLine(); int opcionpersonaElegido; while (int.TryParse(personaElegido, out opcionpersonaElegido) == false) { Console.WriteLine("Marque una opción válida"); } personaInscripta = RegistroPersona.personas.ElementAt(opcionpersonaElegido - 1); //FIN } else //REGISTRAR PUBLICO { RegistrarPersona(); personaInscripta = RegistroPersona.personas.ElementAt(0); } //FIN //ELEGIR CURSO Console.WriteLine("A que curso quiere inscribirse?"); MostrarCursos(); string cursoElegido = Console.ReadLine(); int opcionCursoElegido; while (int.TryParse(cursoElegido, out opcionCursoElegido) == false) { Console.WriteLine("Marque una opción válida"); } var curso = RegistroCurso.Cursos.ElementAt(opcionCursoElegido - 1); int cantInscriptos = RegistroInscripcion.Inscripciones.Count(x => x.Curso == curso); if (cantInscriptos < curso.CupoMax) { Inscripcion inscripcion = new Inscripcion(curso, personaInscripta); inscripcion.MostrarInscripcion(); RegistroInscripcion.Inscripciones.Add(inscripcion); var inscripcionEnArchivoJson = JsonConvert.SerializeObject(RegistroInscripcion.Inscripciones, Formatting.Indented); System.IO.File.WriteAllText("inscripciones.Json", inscripcionEnArchivoJson); } else { Console.WriteLine("No hay cupos para inscribirse"); } } //Registrar persona if (decision == "2") { RegistrarPersona(); } //Crear curso if (decision == "3") { //NOMBRE Console.WriteLine("¿Nombre Del curso?"); string nombre = Console.ReadLine(); //DESCRIPCION Console.WriteLine("¿Para quien está dirigido?"); string descripcion = Console.ReadLine(); //Fecha del curso Console.WriteLine("Ingrese el día, mes y hora de comienzo del curso (Ej: 01/03/2020 19:30)"); string formato = "g"; var provider = new CultureInfo("fr-FR"); List <DateTime> FechasDictado = new List <DateTime>(); DateTime fecha; string fechaIngresada = Console.ReadLine(); bool cargarFechas = false; do { while (DateTime.TryParseExact(fechaIngresada, formato, provider, DateTimeStyles.None, out fecha) == false) { Console.WriteLine("Ingrese el día, mes de la siguiente clase (Ej: 01/03/2020)"); fechaIngresada = Console.ReadLine(); } FechasDictado.Add(fecha); Console.WriteLine("¿Quiere ingresar mas fechas? \n 1-Si \n 2-No"); var opcionMasFechasIngresada = Console.ReadLine(); int opcionMasFechas; do { while (int.TryParse(opcionMasFechasIngresada, out opcionMasFechas) == false) { Console.WriteLine("Ingrese 1 o 2"); } }while(opcionMasFechas != 1 && opcionMasFechas != 2); if (opcionMasFechas == 1) { cargarFechas = true; fechaIngresada = ""; } else { cargarFechas = false; } }while(cargarFechas != false); List <Persona> docentesDelCurso = new List <Persona>(); Persona docente; bool cargarDocentes = true; while (cargarDocentes == true) { //DOCENTE if (RegistroPersona.personas.Count() > 0) { //MOSTRAR DOCENTES Console.WriteLine("Seleccione la persona que será docente del curso:"); MostrarPersonas(); string docenteElegido = Console.ReadLine(); int opciondocenteElegido; while (int.TryParse(docenteElegido, out opciondocenteElegido) == false) { Console.WriteLine("Marque una opción válida"); } docente = RegistroPersona.personas.ElementAt(opciondocenteElegido - 1); docentesDelCurso.Add(docente); //FIN } else //NO HAY DOCENTE... { Console.WriteLine("Carga los datos del docente del curso"); RegistrarPersona(); docente = RegistroPersona.personas.ElementAt(0); docentesDelCurso.Add(docente); } Console.WriteLine("¿Quiere ingresar mas docentes? \n 1-Si \n 2-No"); var masDocenteElegido = Console.ReadLine(); int masDocente; do { while (int.TryParse(masDocenteElegido, out masDocente) == false) { Console.WriteLine("Ingrese 1 o 2"); } }while(masDocente != 1 && masDocente != 2); if (masDocente == 1) { cargarDocentes = true; } else { cargarDocentes = false; } } //cupo minimo Console.WriteLine("¿Cupo Minimo?"); var cupoMinElegido = Console.ReadLine(); int cupoMin; while (int.TryParse(cupoMinElegido, out cupoMin) == false) { Console.WriteLine("Ingrese un numero"); cupoMinElegido = Console.ReadLine(); } //cupo maximo Console.WriteLine("¿Cupo Maximo?"); var cupoMaxElegido = Console.ReadLine(); int cupoMax; while (int.TryParse(cupoMaxElegido, out cupoMax) == false) { Console.WriteLine("Ingrese un numero"); cupoMaxElegido = Console.ReadLine(); } Console.WriteLine("Ingrese la fecha límite de inscripción: (Ej:01/03/2020 )"); string fechaLimiteIngresada = Console.ReadLine(); string formatoFechaLimite = "dd/MM/yyyy"; DateTime fechaLimite; while (DateTime.TryParseExact(fechaLimiteIngresada, formatoFechaLimite, null, DateTimeStyles.None, out fechaLimite) == false) { Console.WriteLine("Ingrese la fecha límite de inscripción: (Ej: 01/03/2020)"); fechaLimiteIngresada = Console.ReadLine(); } Curso curso = new Curso(nombre, descripcion, FechasDictado, docentesDelCurso, cupoMax, cupoMin, fechaLimite); RegistroCurso.Cursos.Add(curso); var cursoEnArchivoJson = JsonConvert.SerializeObject(RegistroCurso.Cursos, Formatting.Indented); System.IO.File.WriteAllText("Cursos.Json", cursoEnArchivoJson); } //Agregar docente suplente if (decision == "4") { //CURSO Console.WriteLine("A que curso le quiere agregar el docente?"); MostrarCursos(); string cursoElegido = Console.ReadLine(); int opcionCursoElegido; while (int.TryParse(cursoElegido, out opcionCursoElegido) == false) { Console.WriteLine("Marque una opción válida"); } var curso = RegistroCurso.Cursos.ElementAt(opcionCursoElegido - 1); //PERSONA DOCENTE Persona docenteSuplente; //MOSTRAR PUBLICO if (RegistroPersona.personas.Count() > 0) { Console.WriteLine("Seleccione la persona que quiere inscribir:"); MostrarPersonas(); string personaElegido = Console.ReadLine(); int opcionpersonaElegido; while (int.TryParse(personaElegido, out opcionpersonaElegido) == false) { Console.WriteLine("Marque una opción válida"); } docenteSuplente = RegistroPersona.personas.ElementAt(opcionpersonaElegido - 1); //FIN } else //REGISTRAR PUBLICO { RegistrarPersona(); docenteSuplente = RegistroPersona.personas.ElementAt(0); } curso.ActualizarDocente(docenteSuplente); Console.WriteLine("El docente suplente se agregó correctamente"); } } }