public static Entidades.Asignaturas AgregarDatosAsignatura(Entidades.Asignaturas pAsignatura)
        {
            Entidades.Carreras carrera;
            do
            {
                MetodosInformar.InformarTodasCarreras();
                pAsignatura.CarreraId = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: "\nIngrese el ID de la carrera de su alumno: ", mensajeError: $"\nValor debe ser mayor a 1.", minimoValorInput: 1, borrarInformacion: false);
                carrera = Logica.Carrera.ListarUna(carreraID: pAsignatura.CarreraId);
                if (carrera == null)
                {
                    MetodosComunes.MensajeColor(mensaje: "\nLa carrera seleccionada no existe.", color: ConsoleColor.Red);
                }
            } while (carrera == null);

            pAsignatura.AlumnoId = carrera.AlumnoId;
            MetodosInformar.InformarListadoAsignaturas();

            pAsignatura.ListadoAsignaturasId = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: "\nIngrese el ID de la asignatura de su alumno: ", mensajeError: $"\nValor debe ser 1 o mayor", minimoValorInput: 1, borrarInformacion: false);

            pAsignatura.Comision = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: $"\nIngrese la comision de la asignatura ({Logica.ListadoAsignatura.ListarUna(pAsignatura.ListadoAsignaturasId).Nombre}): ", mensajeError: "\nIngrese una comision solo con caracteres numericos mayor a 0", minimoValorInput: 1);

            Console.WriteLine("\nIngrese el horario de entrada de la materia");

            int Horas = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: "\nIngrese la hora entre 0 y 23:", mensajeError: "\nIngrese un valor entre 0 y 23", minimoValorInput: 0, maximoValorInput: 23);

            int Minutos = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: "\nIngrese los minutos entre 0 y 59:", mensajeError: "\nIngrese un valor entre 0 y 59", minimoValorInput: 0, maximoValorInput: 59);

            pAsignatura.HorarioEntrada = new TimeSpan(hours: Horas, minutes: Minutos, seconds: 0);

            Console.WriteLine("\nIngrese el horario de salida de la materia");

            Horas = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: "\nIngrese la hora entre 0 y 23:", mensajeError: "\nIngrese un valor entre 0 y 23", minimoValorInput: 0, maximoValorInput: 23);

            Minutos = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: "\nIngrese los minutos entre 0 y 59:", mensajeError: "\nIngrese un valor entre 0 y 59", minimoValorInput: 0, maximoValorInput: 59);

            pAsignatura.HorarioSalida = new TimeSpan(hours: Horas, minutes: Minutos, seconds: 0);

            pAsignatura.Dias = MetodosComunes.ValidacionTexto(mensajeIngreso: "\nIngrese los dias de cursada de la materia (Ej: Lunes-Miercoles-Viernes):");
            // TODO Mejorar ingreso de dias.
            return(pAsignatura);
        }
        public static void AgregarRegistro(Enumeraciones.Tablas elementoAgregar)
        {
            int    cantidad = MetodosComunes.ValidacionNumericaInt(mensajeIngreso: $"\nCuantos elementos de {elementoAgregar} quiere ingresar (1-50):", mensajeError: "Valor no comprendido entre 1 y 50", minimoValorInput: 1, maximoValorInput: 50);
            string devolucionAgregar;

            switch (elementoAgregar)
            {
            case Enumeraciones.Tablas.Alumnos:
                Entidades.Alumnos alumno = new Entidades.Alumnos();
                for (int i = 0; i < cantidad; i++)
                {
                    do
                    {
                        alumno.AlumnoId   = 0;
                        alumno            = AgregarDatosAlumno(alumno);
                        devolucionAgregar = Logica.Alumno.Agregar(alumno);
                        if (devolucionAgregar.Contains("no ha sido agregado"))
                        {
                            MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}", color: ConsoleColor.Red);
                        }
                    } while (devolucionAgregar.Contains("no ha sido agregado"));
                    MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}");
                }
                break;

            case Enumeraciones.Tablas.Asignaturas:
                Entidades.Asignaturas asignatura = new Entidades.Asignaturas();;
                for (int i = 0; i < cantidad; i++)
                {
                    do
                    {
                        asignatura.AsignaturaId = 0;
                        asignatura        = AgregarDatosAsignatura(asignatura);
                        devolucionAgregar = Logica.Asignatura.Agregar(asignatura);
                        if (devolucionAgregar.Contains("no ha sido agregado"))
                        {
                            MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}", color: ConsoleColor.Red);
                        }
                    } while (devolucionAgregar.Contains("no ha sido agregado"));
                    MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}");
                }
                break;

            case Enumeraciones.Tablas.Carreras:
                Entidades.Carreras carrera = new Carreras();
                for (int i = 0; i < cantidad; i++)
                {
                    do
                    {
                        carrera.CarreraId = 0;
                        carrera           = AgregarDatosCarrera(carrera);
                        devolucionAgregar = Logica.Carrera.Agregar(carrera);
                        if (devolucionAgregar.Contains("no ha sido agregado"))
                        {
                            MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}", color: ConsoleColor.Red);
                        }
                    } while (devolucionAgregar.Contains("no ha sido agregado"));
                    MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}");
                }
                break;

            case Enumeraciones.Tablas.Facultades:
                Entidades.Facultades facultad = new Facultades();
                for (int i = 0; i < cantidad; i++)
                {
                    do
                    {
                        facultad.FacultadId = 0;
                        facultad            = AgregarDatosFacultad(facultad);
                        devolucionAgregar   = Logica.Facultad.Agregar(facultad);
                        if (devolucionAgregar.Contains("no ha sido agregado"))
                        {
                            MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}", color: ConsoleColor.Red);
                        }
                    } while (devolucionAgregar.Contains("no ha sido agregado"));
                    MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}");
                }
                break;

            case Enumeraciones.Tablas.ListadoAsignaturas:
                Entidades.ListadoAsignaturas listadoAsignatura = new ListadoAsignaturas();
                for (int i = 0; i < cantidad; i++)
                {
                    do
                    {
                        listadoAsignatura.ListadoAsignaturasId = 0;
                        listadoAsignatura = AgregarDatosListadoAsignatura(listadoAsignatura);
                        devolucionAgregar = Logica.ListadoAsignatura.Agregar(listadoAsignatura);
                        if (devolucionAgregar.Contains("no ha sido agregado"))
                        {
                            MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}", color: ConsoleColor.Red);
                        }
                    } while (devolucionAgregar.Contains("no ha sido agregado"));
                    MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}");
                }
                break;

            case Enumeraciones.Tablas.ListadoCarreras:
                Entidades.ListadoCarreras listadoCarrera = new ListadoCarreras();
                for (int i = 0; i < cantidad; i++)
                {
                    do
                    {
                        listadoCarrera.ListadoCarrerasId = 0;
                        listadoCarrera    = AgregarDatosListadoCarrera(listadoCarrera);
                        devolucionAgregar = Logica.ListadoCarrera.Agregar(listadoCarrera);
                        if (devolucionAgregar.Contains("no ha sido agregado"))
                        {
                            MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}", color: ConsoleColor.Red);
                        }
                    } while (devolucionAgregar.Contains("no ha sido agregado"));
                    MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}");
                }
                break;

            case Enumeraciones.Tablas.Notas:
                Entidades.Notas nota = new Notas();
                for (int i = 0; i < cantidad; i++)
                {
                    do
                    {
                        nota.NotasId      = 0;
                        nota              = AgregarDatosNota(nota);
                        devolucionAgregar = Logica.Nota.Agregar(nota);
                        if (devolucionAgregar.Contains("no ha sido agregado"))
                        {
                            MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}", color: ConsoleColor.Red);
                        }
                    } while (devolucionAgregar.Contains("no ha sido agregado"));
                    MetodosComunes.MensajeColor(mensaje: $"\n{devolucionAgregar}");
                }
                break;

            default:
                break;
            }
        }