public void Export(CSession parent, ref CDatabaseConnection conn, List <IDiscoveredObject> sites, List <IDiscoveredObject> DiscoveredServers) { _DBConn = conn; IEnumerable <CSite> _discoveredsites = sites.OfType <CSite>(); DiscoveredSites = new List <CSite> { }; DiscoveredSites.AddRange(_discoveredsites); DiscoveredGroups = new Dictionary <string, CDiscoveredConfig> { }; ExportedEntries = new List <string> { }; foreach (CService server in DiscoveredServers) { foreach (CQuery query in server.Session.Queries) { for (int i = 0; i < query.Result.Count; i++) { ExportDiscoveredConfig(query.Result[i], server, true); } } foreach (CDiscoveredConfig group in DiscoveredGroups.Values) { ExportDiscoveredConfig(group); } } _DBConn.Close(); _DBConn.Dispose(); parent.Progress.Status = new CTaskInfo.State(CTaskInfo.State.Success); parent.Completed = true; }
public CSession(ref CDatabaseConnection conn, List <IDiscoveredObject> discoveredSites, List <IDiscoveredObject> discoveredServers, string uid) { _DBConn = conn; this.DiscoveredSites = discoveredSites; this.DiscoveredServers = discoveredServers; ID = uid; Outfile = conn.FileName; Progress = new CTaskInfo() { Status = new CTaskInfo.State(CTaskInfo.State.Active), Details = "Generating database output to " + Outfile.ToLower(), UID = uid, StartTime = CFunctions.GetDateTime(0) }; Log.Write(Progress.Details); }
internal CDatabaseConnection InitializeDB() { CDatabaseConnection conn = null; CFunctions.CreateFolderIfNotExist(Core.DatabasePath); conn = new CDatabaseConnection(Core.DatabasePath + "\\" + Core._StartTime + ".db"); if (conn._DBTryInitialize()) { return(conn); } else { return(null); } }
public void Export(List <IDiscoveredObject> DiscoveredSites, List <IDiscoveredObject> DiscoveredServers) { Core._ReportURI = @"http://127.0.0.1:8182/"; if (_DBConn == null) { _DBConn = InitializeDB(); } string uid = CFunctions.GenerateUID(); CSession exporter = new CSession(ref _DBConn, DiscoveredSites, DiscoveredServers, uid); SessionInfo.Add(exporter.Progress); SessionManager.Add(ref exporter); }