private void AddScanInfoTable(Scan scan) { using (var scanTable = DBFactory.GetMySqlDatabase().DataTableFromQueryString(Queries.Assets.SelectScanById(scan.ID))) { scanTable.TableName = ScansTable.TableName; SqliteFunctions.AddTableToScanDB(scanTable, ScansTable.Id, scan.ID); } }
private void CachePingHistory(DbTransaction trans) { using (var results = DBFactory.GetMySqlDatabase().DataTableFromQueryString(Queries.Assets.SelectMaxPingHistory())) { results.TableName = PingHistoryTable.TableName; SetSubnets(results); SqliteFunctions.AddTableToScanDB(results, PingHistoryTable.Id, currentScan.ID, trans); } }
private void CacheScanDetails(DataTable munisResults, string munisKeyColumn, DataTable assetResults, string assetKeyColumn, string scanId) { using (var trans = DBFactory.GetSqliteScanDatabase(scanId).StartTransaction()) { // Add tables to Sqlite cache. SqliteFunctions.AddTableToScanDB(munisResults, munisKeyColumn, scanId, trans); SqliteFunctions.AddTableToScanDB(assetResults, assetKeyColumn, scanId, trans); CachePingHistory(trans); // Join the tables and add the result to the Sqlite cache. using (var cmd = DBFactory.GetSqliteScanDatabase(scanId).GetCommand(Queries.Sqlite.JoinAllAssetDetails())) using (var allDetails = DBFactory.GetSqliteScanDatabase(scanId).DataTableFromCommand(cmd, trans)) { allDetails.TableName = ItemDetailTable.TableName; AddScanStatusColumns(allDetails); SqliteFunctions.AddTableToScanDB(allDetails, MunisFixedAssetTable.Asset, scanId, trans); } trans.Commit(); } }