/// <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 las conexiones de un contexto /// </summary> private NormalizedDictionary <Models.CloudConnection> GetConnections(JobContextModel context) { NormalizedDictionary <Models.CloudConnection> connections = new NormalizedDictionary <Models.CloudConnection>(); // Obtiene las conexiones del árbol foreach (LibDataStructures.Trees.TreeNodeModel node in context.Tree.Nodes) { if (node.Id.EqualsIgnoreCase("Cloud")) { Models.CloudConnection configuration = GetConnection(node); connections.Add(configuration.Key, configuration); } } // Devuelve la lista de conexiones return(connections); }