//TODO_HIGH : return the collection of the objects to the UI public int GetWmiDataFromDB(string machineName, DateTime scanDate, ref Hashtable objDataTable) { //TODO_NORM: Improve the code below so db handling is proper. DiscoverDb discDb = new DiscoverDb(); EntDiscover machineDetails = discDb.GetMachineDetails(machineName); discDb.CloseConnection(); discDb = null; //TODO_HIGH: Code only displays the latest, should display scan selected using combobox ScanDb _scanDb = new ScanDb(); EntScan scan = _scanDb.GetLatestScanDetails(machineDetails.MachineID, scanDate); _scanDb.CloseConnection(); _scanDb = null; if ( scan != null) { EntityDb entityDb = new EntityDb(); ArrayList sysData = new ArrayList(); ArrayList.Synchronized(sysData); entityDb.GetEntity(scan.ScanID, EntityType.Computer, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Processor, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.OS, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Bios, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.MotherBoard, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Disk, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Memory, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.LogicalDrive, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.CDRom, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.NetworkAdapter, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Video, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Multimedia, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Monitor, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Share, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Printer, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.Hotfix, ref sysData); entityDb.GetEntity(scan.ScanID, EntityType.StartUp, ref sysData); objDataTable.Add("System", sysData); ArrayList processData = new ArrayList(); ArrayList.Synchronized(processData); entityDb.GetEntity(scan.ScanID, EntityType.Processes, ref processData); objDataTable.Add("Processes", processData); ArrayList softwareData = new ArrayList(); ArrayList.Synchronized(softwareData); entityDb.GetEntity(scan.ScanID, EntityType.Softwares, ref softwareData); objDataTable.Add("Softwares", softwareData); ArrayList servicesData = new ArrayList(); ArrayList.Synchronized(servicesData); entityDb.GetEntity(scan.ScanID, EntityType.Services, ref servicesData); objDataTable.Add("Services", servicesData); ArrayList ipRoutesData = new ArrayList(); ArrayList.Synchronized(ipRoutesData); entityDb.GetEntity(scan.ScanID, EntityType.IPRoutes, ref ipRoutesData); objDataTable.Add("IPRoutes", ipRoutesData); ArrayList ipEnvVars = new ArrayList(); ArrayList.Synchronized(ipEnvVars); entityDb.GetEntity(scan.ScanID, EntityType.EnvironmentVar, ref ipEnvVars); objDataTable.Add("EnvVars", ipEnvVars); ArrayList userGrps = new ArrayList(); ArrayList.Synchronized(userGrps); entityDb.GetEntity(scan.ScanID, EntityType.UserGroup, ref userGrps); objDataTable.Add("UserGroups", userGrps); entityDb.CloseConnection(); entityDb = null; } return 1; }
public EntScan GetLatestScan(int machineID) { EntScan ret = null; ScanDb scan= new ScanDb(); ret = scan.GetLatestScanDetails(machineID) ; scan.CloseConnection(); scan = null; return ret; }