/// <summary> /// Busca realizada via FileSystem em busca da pasta que contem o numero do processo digitado /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BtnBuscar_Click(object sender, EventArgs e) { //Verifico se foi digitado alguma coisa. //Verificacao importante pois estou usando *.* Directory.GetDirectories if (txtNumProcesso.Text.Length == 0) return; System.Threading.Thread.Sleep(3000); //Crio nova lista ListaDocumentos = new List<Documento>(); // SearchOption.AllDirectories = Todos os sub-diretorios entram na busca // SearchOption.TopDirectoryOnly = Somente o diretorio atual entra na busca string[] Diretorio = Directory.GetDirectories(@PathDocumentos, "*" + txtNumProcesso.Text + "*" , SearchOption.AllDirectories); string data; //Percorre o diretorio com o numero do processo for (int i = Diretorio.Length - 1; i >= 0; --i) { string[] Arquivos = Directory.GetFiles(@Diretorio[i], "*.pdf", SearchOption.AllDirectories); //Percorre o diretorio de processo em busca de arquivos PDF's for (int x = Arquivos.Length - 1; x >= 0; --x) { Documento doc = new Documento(); // Caminho do arquivo .pdf encontrado string[] caminho = Arquivos[x].Split('\\'); if ((caminho != null) && (caminho.Length > 3)) { doc.NumEmpresa = caminho[caminho.Length - 4]; doc.NumProcesso = caminho[caminho.Length - 3]; data = caminho[caminho.Length - 2]; if ((data != null) && (data.Length >= 8)) { //data para exibição - formatada doc.Data = data.Substring(6, 2) + "\\" + data.Substring(4, 2) + "\\" + data.Substring(0, 4); //data para compor o path do link do pdf doc.DataCaminho = data; } doc.ArquivoPDF = caminho[caminho.Length - 1]; //Adiciono na Lista ListaDocumentos.Add(doc); } } } MontaGridView(); System.Threading.Thread.EndCriticalRegion(); }
/// <summary> /// Percorre o diretorio em busca dos arquivos PDF /// </summary> public void PercorrerDiretorio() { System.Threading.Thread.Sleep(3000); ListaDocumentos = new List<Documento>(); // Busca os arquivos com extensão .pdf em todo o diretorio e sub-diretorio // SearchOption.AllDirectories = Todos os sub-diretorios entram na busca // SearchOption.TopDirectoryOnly = Somente o diretorio atual entra na busca string[] arquivos = Directory.GetFiles(@PathDocumentos, "*.pdf", SearchOption.AllDirectories); string data; for (int i = arquivos.Length - 1; i >= 0; --i) { Documento doc = new Documento(); // Caminho do arquivo .pdf encontrado //Response.Write(arquivos[i] + "<br>"); string[] caminho = arquivos[i].Split('\\'); if ((caminho != null) && (caminho.Length > 3)) { doc.NumEmpresa = caminho[caminho.Length - 4]; doc.NumProcesso = caminho[caminho.Length - 3]; data = caminho[caminho.Length - 2]; if ((data != null) && (data.Length >= 8)) { //data para exibição - formatada doc.Data = data.Substring(6, 2) + "\\" + data.Substring(4, 2) + "\\" + data.Substring(0, 4); //data para compor o path do link do pdf doc.DataCaminho = data; } doc.ArquivoPDF = caminho[caminho.Length - 1]; //Adiciono na Lista ListaDocumentos.Add(doc); } } System.Threading.Thread.EndCriticalRegion(); }