Exemplo n.º 1
0
        public override bool HasChildNodes(ITreeBuilder builder, object dataObject)
        {
            LoggingService.LogDebug("HasChildNodes CONTEXT");
            DatabaseConnectionContextCollection collection = (DatabaseConnectionContextCollection)dataObject;

            return(collection.Count > 0);
        }
Exemplo n.º 2
0
        public override void BuildChildNodes(ITreeBuilder builder, object dataObject)
        {
            DatabaseConnectionContextCollection collection = (DatabaseConnectionContextCollection)dataObject;

            LoggingService.LogDebug("BuildChildNodes CONTEXT  " + collection.Count);

            foreach (DatabaseConnectionContext context in collection)
            {
                builder.AddChild(context);
            }
            builder.Expanded = true;
        }
		internal static void Initialize (string configFile)
		{
			DatabaseConnectionSettingsCollection connections = null;
			if (File.Exists (configFile)) {
				try {
					using (FileStream fs = File.OpenRead (configFile)) {
						XmlSerializer serializer = new XmlSerializer (typeof (DatabaseConnectionSettingsCollection));
						connections = (DatabaseConnectionSettingsCollection) serializer.Deserialize (fs);
					}
				} catch {
					LoggingService.LogError (AddinCatalog.GetString ("Unable to load stored SQL connection information."));
					File.Delete (configFile);
				}
			}
			
			contexts = new DatabaseConnectionContextCollection ();
			if (connections != null) {
				StringBuilder sb = new StringBuilder ();
				foreach (DatabaseConnectionSettings settings in connections) {
					IDbFactory fac = DbFactoryService.GetDbFactory (settings);
					if (fac == null) {
						sb.Append ("Error: unable to load database provider '");
						sb.Append (settings.ProviderIdentifier);
						sb.Append ("' for connection '");
						sb.Append (settings.Name);
						sb.Append ("'");
						sb.Append (Environment.NewLine);
						continue;
					}
					
					contexts.Add (new DatabaseConnectionContext (settings));
				}
				
				if (sb.Length > 0) {
					Exception ex = new Exception (sb.ToString ());
					QueryService.RaiseException (ex);
				}
			}
		}