public bool SubirApunte(Object[] miDatos, List <Apunte> TodosApuntes)
        {
            Curso auxCurso = (Curso)miDatos[2];

            if (cursosRealizados.Contains(auxCurso.ID) || cursosEnsena.Contains(auxCurso.ID))
            {
                Apunte miApunte = new Apunte(this, (string)miDatos[0], (Curso)miDatos[1], (List <string>)miDatos[2],
                                             (string)miDatos[3], (string)miDatos[4]);
                apuntesSubidos.Add(miApunte.ID);
                auxCurso.apuntes.Add(miApunte.ID);
                return(true);
            }
            return(false);
        }
        public void CargarDatos()
        {
            string directorio = Directory.GetCurrentDirectory();

            foreach (string file in Directory.EnumerateFiles(directorio +
                                                             "\\Cuenta", "*.txt"))
            {
                string        content   = File.ReadAllText(file);
                List <String> data      = content.Split('\n').ToList();
                Cuenta        auxCuenta = new Cuenta(Int32.Parse(data[0]), data[1], data[2], data[3],
                                                     data[4], data[5], data[6]);
                List <int> auxSubido           = data[7].Split(',').Select(int.Parse).ToList();
                List <int> auxValor            = data[8].Split(',').Select(int.Parse).ToList();
                List <int> auxCursosRealizados = data[9].Split(',').Select(int.Parse).ToList();
                List <int> auxAmigos           = data[10].Split(',').Select(int.Parse).ToList();
                List <int> auxFavoritos        = data[11].Split(',').Select(int.Parse).ToList();
                List <int> auxReportes         = data[12].Split(',').Select(int.Parse).ToList();
                auxCuenta.CargarDatos(auxSubido, auxValor, auxCursosRealizados, auxAmigos,
                                      auxFavoritos, auxReportes);
                listaCuentas.Add(auxCuenta);
            }
            foreach (string file in Directory.EnumerateFiles(directorio +
                                                             "\\Profesor", "*.txt"))
            {
                string        content   = File.ReadAllText(file);
                List <String> data      = content.Split('\n').ToList();
                Cuenta        auxCuenta = new Profesor(Int32.Parse(data[0]), data[1], data[2], data[3],
                                                       data[4], data[5], data[6]);
                List <int> auxSubido           = data[7].Split(',').Select(int.Parse).ToList();
                List <int> auxValor            = data[8].Split(',').Select(int.Parse).ToList();
                List <int> auxCursosRealizados = data[9].Split(',').Select(int.Parse).ToList();
                List <int> auxAmigos           = data[10].Split(',').Select(int.Parse).ToList();
                List <int> auxFavoritos        = data[11].Split(',').Select(int.Parse).ToList();
                List <int> auxReportes         = data[12].Split(',').Select(int.Parse).ToList();
                List <int> auxCursosEnsena     = data[13].Split(',').Select(int.Parse).ToList();
                ((Profesor)auxCuenta).CargarDatos(auxSubido, auxValor, auxCursosRealizados, auxAmigos,
                                                  auxFavoritos, auxReportes, auxCursosEnsena);
                listaCuentas.Add(auxCuenta);
            }
            foreach (string file in Directory.EnumerateFiles(directorio +
                                                             "\\Admin", "*.txt"))
            {
                string        content   = File.ReadAllText(file);
                List <String> data      = content.Split('\n').ToList();
                Cuenta        auxCuenta = new Admin(Int32.Parse(data[0]), data[1], data[2], data[3],
                                                    data[4], data[5], data[6]);
                List <int> auxSubido;
                List <int> auxValor;
                List <int> auxCursosRealizados;
                List <int> auxAmigos;
                List <int> auxFavoritos;
                List <int> auxReportes;
                if (!(data[7].Length == 0))
                {
                    auxSubido = data[7].Split(',').Select(int.Parse).ToList();
                }
                else
                {
                    auxSubido = new List <int>()
                    {
                    };
                }
                if (!(data[8].Length == 0))
                {
                    auxValor = data[8].Split(',').Select(int.Parse).ToList();
                }
                else
                {
                    auxValor = data[8].Split(',').Select(int.Parse).ToList();
                }
                if (!(data[9].Length == 0))
                {
                    auxCursosRealizados = data[9].Split(',').Select(int.Parse).ToList();
                }
                else
                {
                    auxCursosRealizados = data[9].Split(',').Select(int.Parse).ToList();
                }
                if (!(data[10].Length == 0))
                {
                    auxAmigos = data[10].Split(',').Select(int.Parse).ToList();
                }
                else
                {
                    auxAmigos = data[10].Split(',').Select(int.Parse).ToList(); auxSubido = new List <int>()
                    {
                    };
                }

                if (!(data[11].Length == 0))
                {
                    auxFavoritos = data[11].Split(',').Select(int.Parse).ToList();
                }
                else
                {
                    auxFavoritos = data[11].Split(',').Select(int.Parse).ToList();
                }

                if (!(data[12].Length == 0))
                {
                    auxReportes = data[12].Split(',').Select(int.Parse).ToList();
                }
                else
                {
                    auxReportes = data[12].Split(',').Select(int.Parse).ToList();
                }

                auxCuenta.CargarDatos(auxSubido, auxValor, auxCursosRealizados, auxAmigos,
                                      auxFavoritos, auxReportes);
                listaCuentas.Add(auxCuenta);
            }
            foreach (string file in Directory.EnumerateFiles(directorio +
                                                             "\\Curso", "*.txt"))
            {
                string        content       = File.ReadAllText(file);
                List <String> data          = content.Split('\n').ToList();
                List <String> auxTopico     = data[3].Split(',').ToList();
                Curso         auxCurso      = new Curso(data[0], data[1], data[2], auxTopico);
                List <int>    auxApuntes    = data[4].Split(',').Select(int.Parse).ToList();
                List <int>    auxDificultad = data[5].Split(',').Select(int.Parse).ToList();
                auxCurso.CargarDatos(auxApuntes, auxDificultad);
                listaCursos.Add(auxCurso);
            }
            foreach (string file in Directory.EnumerateFiles(directorio +
                                                             "\\Apunte", "*.txt"))
            {
                bool          auxPublico;
                string        content   = File.ReadAllText(file);
                List <String> data      = content.Split('\n').ToList();
                List <String> auxTopico = data[3].Split(',').ToList();
                Cuenta        auxCuenta = adminSistema.BuscarCuenta(Int32.Parse(data[0]),
                                                                    listaCuentas)[0];
                Curso      auxCurso = adminSistema.BuscarCurso(Int32.Parse(data[2]), listaCursos)[0];
                List <int> auxValor = data[6].Split(',').Select(int.Parse).ToList();
                if (data[7].Equals("False"))
                {
                    auxPublico = false;
                }
                else
                {
                    auxPublico = true;
                }
                Apunte auxApunte = new Apunte(auxCuenta, data[1], auxCurso, auxTopico, data[4], data[5]);
                auxApunte.CargarDatos(auxValor, auxPublico);
                listaCursos.Add(auxCurso);
            }
        }