public static string PlancharArchivo(string archivo) { try { string texto = Archivo.LeerArchivoTexto(archivo); string textoQuitadoComentarioBloque = QuitarComentariodeBloque(texto); string textoQuitadoComentarioDeLinea = QuitarComentarioDeLinea(textoQuitadoComentarioBloque); string textoEliminadoDuplicado = Cadena.EliminarDuplicado(textoQuitadoComentarioDeLinea, ' '); string textoMayuscula = textoEliminadoDuplicado.ToUpper(); return(textoMayuscula); } catch { throw; } }
public static string LeerParametro(string archivo, string key, char separador) { string resultado = ""; string cadena = LeerArchivoTexto(archivo); string[] valores = Cadena.ConvertirEnArreglo(cadena, '\n'); foreach (string valor in valores) { string[] par = valor.Split(new char[] { separador }); if (par[0] == key) { resultado = par[1]; break; } } return(resultado); }
public static bool TraerObjeto(string origen, string destino, string usuario, string clave, out string respuesta, int revision = -1) { try { destino = destino.ToUpper(); // Obtener la ruta del repositorio int index = Cadena.EncontrarEnesimaCoincidencia('/', origen, 4); string repositorio = origen.Substring(0, index); string instancia = repositorio.Substring(repositorio.LastIndexOf('/') + 1); // Verificar si existen subcarpetas if (origen.Substring(index + 1).IndexOf('/') > 0) { // Existe una subcarpeta // Obtener lista de subcarpetas string[] subCarpetas = ListarCarpetas(repositorio, usuario, clave); string subCarpeta = origen.Substring(index + 1, Cadena.EncontrarEnesimaCoincidencia('/', origen, 5) - index - 1); string subCarpetaCorregida = Cadena.EncontrarTextoEnArreglo(subCarpeta, subCarpetas); if (String.IsNullOrEmpty(subCarpetaCorregida)) { respuesta = String.Format("No se encuentra la carpeta {0} en el versionador", subCarpeta); return(false); } string urlCorregidaBase = String.Concat(repositorio, "/", subCarpetaCorregida); // Obtener lista de objetos string[] objetos = ListarArchivos(urlCorregidaBase, usuario, clave); string objeto = origen.Substring(Cadena.EncontrarEnesimaCoincidencia('/', origen, 5) + 1); string objetoCorregido = Cadena.EncontrarTextoEnArreglo(objeto, objetos); if (String.IsNullOrEmpty(objetoCorregido)) { respuesta = String.Format("No se encuentra el objeto {0} en el versionador", objeto); return(false); } string urlCorregido = String.Concat(urlCorregidaBase, "/", objetoCorregido); // Verificar si la carpeta del repositorio=instancia existe if (!Directory.Exists(destino)) { // No existe la carpeta, crearla Directory.CreateDirectory(destino); } // Verificar si el archivo existe string rutaArchivoLocal = String.Concat(destino, "\\", objetoCorregido); if (File.Exists(rutaArchivoLocal)) { // Si existe el archivo, eliminarlo File.Delete(rutaArchivoLocal); } // Traer el objeto a la carpeta destino SvnClient svnClient = new SvnClient(); svnClient.Authentication.ForceCredentials(usuario, clave); //svnClient.Authentication.Clear(); //svnClient.Authentication.DefaultCredentials = //new NetworkCredential(usuario, clave); if (revision == -1) { svnClient.Export(urlCorregido, rutaArchivoLocal); } else { SvnRevision rev = new SvnRevision(revision); svnClient.Export(urlCorregido, rutaArchivoLocal, new SvnExportArgs() { Revision = rev }); } } else { // El archivo se encuentra en la raíz del repositorio. string[] objetos = ListarArchivos(repositorio, usuario, clave); string objeto = origen.Substring(Cadena.EncontrarEnesimaCoincidencia('/', origen, 4) + 1); string objetoCorregido = Cadena.EncontrarTextoEnArreglo(objeto, objetos); if (String.IsNullOrEmpty(objetoCorregido)) { respuesta = String.Format("No se encuentra el objeto {0} en el versionador", objeto); return(false); } string urlCorregido = String.Concat(instancia, "\\", objetoCorregido); // Verificar si el archivo existe string rutaArchivoLocal = String.Concat(instancia, "\\", repositorio, "\\", objetoCorregido); if (File.Exists(rutaArchivoLocal)) { // Si existe el archivo, eliminarlo File.Delete(rutaArchivoLocal); } // Traer el objeto a la carpeta destino SvnClient svnClient = new SvnClient(); svnClient.Authentication.DefaultCredentials = new NetworkCredential(usuario, clave); svnClient.Export(urlCorregido, destino); } respuesta = String.Format("{0} Copiado satisfactoriamente", origen); return(true); } catch (SvnRepositoryIOException ex) { respuesta = ex.Message; return(false); } }