/// <summary> /// Performs the Query Execution. /// </summary> /// <param name="queryDef">QueryDefinition</param> /// <returns>Query Resutl to Render</returns> private List <RenderedCell[]> PerformQuery(QueryDefinition queryDef) { // create a job for executing the query specified by <queryDef> LearningStoreJob job = SlkStore.LearningStore.CreateJob(); // create a query based on <queryDef> LearningStoreQuery query = null; int[,] columnMap; // see QueryDefinition.CreateQuery try { query = CreateStandardQuery(queryDef, false, out columnMap); } catch (SlkSettingsException ex) { throw new SafeToDisplayException(ex.Message); } // add the query to the job job.PerformQuery(query); // execute the job DataTable queryResults = job.Execute <DataTable>(); // render the query results into <renderedRows> List <RenderedCell[]> renderedRows = new List <RenderedCell[]>(queryResults.Rows.Count); foreach (DataRow dataRow in queryResults.Rows) { RenderedCell[] renderedCells = queryDef.RenderQueryRowCells(dataRow, columnMap, ResolveSPWebName, SPWeb.RegionalSettings.TimeZone); renderedRows.Add(renderedCells); } return(renderedRows); }