private List<Tuple<TemplateNodeQueryInfo, Int64, DataTable>> GetResultTables( ConcreteTemplateNodeDefinition nodeDefinition, MultyQueryResultInfo queriesResult ) { List<Tuple<TemplateNodeQueryInfo, Int64, DataTable>> resultTables = new List<Tuple<TemplateNodeQueryInfo, Int64, DataTable>>(); try { GroupDefinition database = nodeDefinition.Group; if (database != null) { foreach (QueryDatabaseResult queryDatabaseResult in queriesResult.GetDatabaseResults()) { QueryDatabaseResultInfo dbResult = queryDatabaseResult.Result; if (dbResult == null || dbResult.DataTables == null) { continue; } if (database.Name == dbResult.Database) { Int64 recordSet = 1L; foreach (DataTable curTable in dbResult.DataTables) { resultTables.Add( new Tuple<TemplateNodeQueryInfo, Int64, DataTable>( queryDatabaseResult.TemplateNodeQuery, recordSet, curTable ) ); recordSet++; } } } } } catch (Exception ex) { log.Error("Error in 'Extracts data from queries and saves it to table for RDLC.'", ex); throw; } return resultTables; }
private Dictionary<TemplateNodeQueryInfo, DataTable> PrepareHistoryData( MultyQueryResultInfo results ) { Dictionary<TemplateNodeQueryInfo, DataTable> result = new Dictionary<TemplateNodeQueryInfo, DataTable>(); foreach (QueryDatabaseResult queryDatabaseResult in results.GetDatabaseResults()) { QueryDatabaseResultInfo dbResult = queryDatabaseResult.Result; if (dbResult == null || dbResult.DataTables == null) { continue; } TemplateNodeQueryInfo templateNodeQuery = queryDatabaseResult.TemplateNodeQuery; foreach (DataTable table in dbResult.DataTables) { Debug.Assert(table != null); if (!result.ContainsKey(templateNodeQuery)) { result.Add(templateNodeQuery, table); } } } return result; }