/// <summary> /// Method that write on the log /// </summary> /// <param name="message"></param> public static void WriteOnTheLog(string message, Global.TipoLog tipoLog) { if (Global.log_system != Global.TipoLog.DETALHADO && tipoLog == Global.TipoLog.DETALHADO) { return; } string directory_ach = Global.app_logs_directoty; if (DateTime.Now.Day < 10) { directory_ach += "0" + DateTime.Now.Day; } else { directory_ach += DateTime.Now.Day; } if (DateTime.Now.Month < 10) { directory_ach += "0" + DateTime.Now.Month; } else { directory_ach += DateTime.Now.Month; } directory_ach += DateTime.Now.Year + ".log"; CL_Files file = new CL_Files(directory_ach); file.WriteOnTheEnd(DateTime.Now.ToString() + "- " + (tipoLog == Global.TipoLog.DETALHADO ? "DETALHADO -" : "SIMPLES -") + message + "\n"); file = null; }
/// <summary> /// Método que busca no arquivo o texto passado por referência e retorna uma lista explicando cada incidência da palavra em forma de xml /// </summary> /// <param name="textoParaBusca"></param> /// <param name="file"></param> /// <param name="mensagemErro"></param> /// <returns></returns> public static List <string> BuscaEmArquivo(string textoParaBusca, FileInfo file, ref string mensagemErro) { Util.CL_Files.WriteOnTheLog("DocumentSerach.BuscaEmArquivo", Util.Global.TipoLog.DETALHADO); CL_Files fileToRead = new CL_Files(file.FullName); mensagemErro = ""; List <string> texto_file = fileToRead.ReadArchive(ref mensagemErro); if (!string.IsNullOrEmpty(mensagemErro)) { return(null); } List <string> saida = new List <string>(); int linha_texto = 0; foreach (string texto in texto_file) { if (texto.ToUpper().Contains(textoParaBusca.ToUpper())) { StringBuilder saidaTexto = new StringBuilder(); saidaTexto.Append("\t<match>" + Environment.NewLine); saidaTexto.Append("\t\t<sentence>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + textoParaBusca + Environment.NewLine); saidaTexto.Append("\t\t</sentence>" + Environment.NewLine); saidaTexto.Append("\t\t<file>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + file.FullName + Environment.NewLine); saidaTexto.Append("\t\t</file>" + Environment.NewLine); saidaTexto.Append("\t\t<line>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + linha_texto.ToString().Trim() + Environment.NewLine); saidaTexto.Append("\t\t</line>" + Environment.NewLine); saidaTexto.Append("\t\t<text>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + texto + Environment.NewLine); saidaTexto.Append("\t\t</text>" + Environment.NewLine); saidaTexto.Append("\t</match>" + Environment.NewLine); saida.Add(saidaTexto.ToString()); } linha_texto++; } fileToRead = null; texto_file.Clear(); texto_file = null; return(saida); }
/// <summary> /// Método que efetua a busca nos arquivos através das sentencas passadas por referência /// </summary> /// <param name="sentencas">Sentencas de busca</param> /// <param name="diretorio">Diretório para efetuar a busca</param> /// <param name="mensagemErro">Mensagem de referência casa haja erro</param> /// <returns>True - foi possível efetuar a busca sem erro; False - houve erro na busca</returns> public static bool Busca(List <string> sentencas, string diretorio, string saida, ref string mensagemErro) { Util.CL_Files.WriteOnTheLog("DocumentSerach.Busca", Util.Global.TipoLog.DETALHADO); Util.CL_Files.WriteOnTheLog("Argumentos:" + sentencas.ToString() + "; " + diretorio + "; " + saida, Util.Global.TipoLog.DETALHADO); try { StringBuilder builder = new StringBuilder(); DirectoryInfo dir = new DirectoryInfo(diretorio); List <string> buscas = BuscaEmDiretorioXML(sentencas, dir, ref mensagemErro); builder.Append("<?xml version=\"1.0\" encoding=\"UTF - 8\"?>" + Environment.NewLine); builder.Append("<result>" + Environment.NewLine); foreach (string busca in buscas) { builder.Append(busca); } builder.Append("</result>"); if (File.Exists(saida)) { File.Delete(saida); } CL_Files file_saida = new CL_Files(saida); file_saida.WriteOnTheEnd(builder.ToString()); file_saida = null; buscas.Clear(); buscas = null; } catch (Exception e) { mensagemErro += Environment.NewLine + "Houve erro ao tentar efetuar a busca! Verifique o log"; CL_Files.WriteOnTheLog("Erro: " + e.Message, Global.TipoLog.SIMPLES); return(false); } return(true); }