/// <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);
        }
Beispiel #2
0
        /// <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);
        }