public DataSet GetReportData(string reportFileName, IDictionary <string, object> parameters = null) { var data = new DataSet(); var report = RdlType.Load(GetReportFile(reportFileName)); report.UpdateReportParameters(parameters); foreach (var dataSet in report.DataSets) { var connectionString = ConnectionHelper.GetConnectionString(dataSet.Query.DataSourceName); if (string.IsNullOrWhiteSpace(connectionString)) { var firstOrDefault = report.DataSources.FirstOrDefault(d => d.Name == dataSet.Query.DataSourceName); if (firstOrDefault != null) { connectionString = firstOrDefault.ConnectionProperties.ConnectString; } } using (var dbConnection = new SqlConnection(connectionString ?? string.Empty)) { dbConnection.Open(); var queryParameters = report.GetDataSetQueryParameters(dataSet.Name); var table = ExecuteSQL(dbConnection, dataSet.Query.CommandText, queryParameters); table.TableName = dataSet.Name; data.Tables.Add(table); } } return(data); }
public void Can_deserealize_rdl_file() { var rdl = RdlType.Load(GetEmbeddedRdlFile("TestReport_v2.rdl")); }