/// <summary> /// Obtiene la conexión asociada a un nodo /// </summary> private Models.CloudConnection GetConnection(LibDataStructures.Trees.TreeNodeModel node) { Models.CloudConnection connection = new Models.CloudConnection(); // Asigna las propiedades básicas a la conexión connection.Key = node.Attributes["Key"].GetValueString(); connection.Type = node.Attributes["Type"].GetValueString().GetEnum(Models.CloudConnection.CloudType.Unknown); // Asigna el resto de propiedades foreach (LibDataStructures.Trees.TreeNodeModel child in node.Nodes) { if (!string.IsNullOrWhiteSpace(child.Id)) { if (child.Id.EqualsIgnoreCase("ConnectionString")) { connection.StorageConnectionString = child.Value?.ToString().TrimIgnoreNull(); } else { connection.Parameters.Add(child.Id, child.Value?.ToString()); } } } // Devuelve la conexión return(connection); }
/// <summary> /// Obtiene la conexión asociada a un nodo /// </summary> private DataBaseConnectionModel GetConnection(JobProjectModel project, LibDataStructures.Trees.TreeNodeModel node) { DataBaseConnectionModel connection = new DataBaseConnectionModel(); // Asigna las propiedades básicas a la conexión connection.Type = node.Attributes["Type"].GetValueString(); connection.GlobalId = node.Attributes["Key"].GetValueString(); // Asigna el resto de propiedades foreach (LibDataStructures.Trees.TreeNodeModel child in node.Nodes) { if (!string.IsNullOrWhiteSpace(child.Id)) { string value = child.Value?.ToString(); if (child.Id.Equals("Name", StringComparison.CurrentCultureIgnoreCase)) { connection.Name = value; } else if (child.Id.Equals("Description", StringComparison.CurrentCultureIgnoreCase)) { connection.Description = value; } else // Parámetros correspondientes a la conexión { // Si el parámetro identifica un nombre de archivo, le añade el directorio if (child.Id.EqualsIgnoreCase("FileName") && !System.IO.File.Exists(value)) { value = project.GetFullFileName(value); } // Añade un parámetro a la conexión connection.Parameters.Add(child.Id, value); } } } // Devuelve la conexión return(connection); }