public void GenerarSalidaWS(HashSet <string> InventarioWS, string[] Archivos, string App, ProcesoDto pdt) { ProcesoAvanceDto pdtoA = new ProcesoAvanceDto(); Proceso proc = new Proceso(); double total = Archivos.Count(); double avance = 28 / total; for (int i = 0; i <= Archivos.Count() - 1; i++) { //Aquí van a ir los parametros para iniciar string Ruta = Archivos[i]; string Archivo = Path.GetFileName(Ruta); int NoLinea = 0; RevisaInterfaces RevInt = new RevisaInterfaces(); //Empezar a leer el archivo using (StreamReader sr = new StreamReader(Ruta)) { while (sr.Peek() >= 0) { string lineaCodigo = sr.ReadLine().Trim(); //Contar No. Linea ++NoLinea; //if (NoLinea == 106) // NoLinea = NoLinea; if (!String.IsNullOrEmpty(lineaCodigo)) { //Actualizar el nuevo VerificaComentarios lineaCodigo = VerCom.BuscarComentario(lineaCodigo); if (!String.IsNullOrEmpty(lineaCodigo)) { RevInt.ObtenerSalidaWS(lineaCodigo, Archivo, InventarioWS, Resultado, NoLinea, Ruta); } } } } proc.SeteaAvance("En Proceso", "OK", "OK", Math.Round((42 + avance * i), 0).ToString(), "40", "", "Leyendo Archivos", pdtoA, pdt); proc.ActualizaProcesoAvance(pdtoA, pdt); } GuardaProcesoWS(pdtoA, pdt, Resultado); //System.IO.File.WriteAllLines(@"C:\INFONAVIT\ClasesMetodos.txt", Resultado); }
public RevisaInterfaces ObtenerSalidaWS(string LineaCodigo, string Archivo, HashSet <string> InventarioWS, List <string> Resultado, int NoLinea, string Ruta) { try { RevisaInterfaces RevisaInterfaces = new RevisaInterfaces(); string LineaOriginal = LineaCodigo; LineaCodigo = LineaCodigo.ToLower(); LineaCodigo = LineaCodigo.Replace("\t", " "); LineaOriginal = LineaOriginal.Replace("\t", " "); string LenguajeApp = Regex.Replace(Archivo, @"\w+\.", string.Empty).Trim(); Archivo = Regex.Replace(Archivo, @"\.\w+", string.Empty).Trim(); //Para WebServices dentro de la Aplicación Regex RegexWS = new Regex(@"\w+\s*:\s*system.web.services.webservice"); Match MatchWS = RegexWS.Match(LineaCodigo); if (MatchWS.Success) { ++DependenciaID; string Servicio = MatchWS.Value.Split(':').First().Trim(); Resultado.Add(DependenciaID + "|" + NoLinea + "|" + LineaOriginal.Replace("|", string.Empty) + "|" + Ruta + "|" + LenguajeApp + "|" + "Interno" + "|" + "" + "|" + "Archivo" + "|" + Archivo + "|" + "Web Service" + "|" + Servicio); } //Para los WebServices que estan fuera de la Aplicación if ((LineaCodigo.IndexOf("class ") >= 0) && (LineaCodigo.IndexOf(".class") < 0)) { bool Excepcion = EsExcepcion(LineaCodigo.ToLower()); if (!Excepcion) { ObtenerDatosClase(LineaOriginal); } } foreach (string Servicio in InventarioWS) { string Nombre = Servicio.Split('|').ElementAt(0); string Direccion = Servicio.Split('|').ElementAt(1); string Middleware = Servicio.Split('|').ElementAt(3); RegexWS = new Regex(@"" + Nombre); MatchWS = RegexWS.Match(LineaOriginal); if (MatchWS.Success) { string Clase = ""; string Interface = "Interface"; if (ListaClases.Count() > 0) { Clase = ListaClases.Last(); } else { Clase = Archivo; Interface = "Página Externa"; } ++DependenciaID; Resultado.Add(DependenciaID + "|" + NoLinea + "|" + LineaOriginal.Replace("|", string.Empty) + "|" + Ruta + "|" + LenguajeApp + "|" + Direccion + "|" + Middleware + "|" + Clase + "|" + Archivo + "|" + Interface + "|" + Nombre); } } return(RevisaInterfaces); } catch (Exception ex) { Console.WriteLine(ex); return(null); } }