Ejemplo n.º 1
0
 public Inscripcion(Persona persona, Curso curso, DateTime fechaInscripcion)
 {
     Persona          = persona;
     Curso            = curso;
     FechaInscripcion = fechaInscripcion;
 }
Ejemplo n.º 2
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 3
0
 public Inscripcion(Curso curso, Persona persona)
 {
     Curso   = curso;
     Persona = persona;
 }
Ejemplo n.º 4
0
        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);
                }
            }
        }
Ejemplo n.º 5
0
        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");
                }
            }
        }