Exemplo n.º 1
0
        public ActionResult Pasta(string destino)
        {
            var MinhaPasta = new Abstracao.Pasta();

            var pastafisica = new System.IO.DirectoryInfo(destino);

            MinhaPasta.Pastas = new List <Abstracao.Pasta>();

            MinhaPasta.Arquivos = new List <Abstracao.Arquivos>();

            MinhaPasta.Titulo = pastafisica.Name;

            MinhaPasta.Caminho = pastafisica.FullName;

            var pastasdapastafisica = pastafisica.GetDirectories();

            var arquivosdapastafisica = pastafisica.GetFiles();

            for (int i = 0; i < arquivosdapastafisica.Length; i++)
            {
                MinhaPasta.Arquivos.Add(new Abstracao.Arquivos {
                    Titulo = arquivosdapastafisica[i].Name, Caminho = arquivosdapastafisica[i].FullName
                });
            }

            for (int i = 0; i < pastasdapastafisica.Length; i++)
            {
                MinhaPasta.Pastas.AddRange(RecursaodePastas(pastasdapastafisica[i], new Abstracao.Pasta()));
            }

            return(PartialView(MinhaPasta));
        }
Exemplo n.º 2
0
        public List <Abstracao.Pasta> RecursaodePastas(System.IO.DirectoryInfo Pastapai, Abstracao.Pasta path)
        {
            var pastasdapastapai = Pastapai.GetDirectories();

            var arquivospastapai = Pastapai.GetFiles();

            path.Caminho = Pastapai.FullName;

            path.Titulo = Pastapai.Name;

            if (path.Pastas == null)
            {
                path.Pastas = new List <Abstracao.Pasta>();
            }

            if (path.Arquivos == null)
            {
                path.Arquivos = new List <Abstracao.Arquivos>();
            }

            for (int i = 0; i < pastasdapastapai.Length; i++)
            {
                var pastavirtualizada = new Abstracao.Pasta {
                    Caminho = pastasdapastapai[i].FullName, Titulo = pastasdapastapai[i].Name, Arquivos = new List <Abstracao.Arquivos>(), Pastas = new List <Abstracao.Pasta>()
                };
                RecursaodePastas(pastasdapastapai[i], pastavirtualizada);
                path.Pastas.Add(pastavirtualizada);
            }

            for (int i = 0; i < arquivospastapai.Length; i++)
            {
                path.Arquivos.Add(new Abstracao.Arquivos {
                    Caminho = arquivospastapai[i].FullName, Titulo = arquivospastapai[i].FullName
                });
            }

            return(new List <Abstracao.Pasta> {
                path
            });
        }