/// ----------------------------------------------------------------------------- /// <summary> /// Gets the report associated with a reports module (including tab module /// specific settings) /// </summary> /// <remarks> /// </remarks> /// <param name=" ModuleInfo">The module info</param> /// <history> /// [anurse] 01/15/2007 Created from GetReport(Integer) /// </history> /// ----------------------------------------------------------------------------- public static ReportInfo GetReport(ModuleInfo ModuleInfo) { var ModuleId = ModuleInfo.ModuleID; var TabModuleId = ModuleInfo.TabModuleID; // Check for a null Module Id if (ModuleId == Null.NullInteger) { return(null); } // Extract the Title, Description and Query from the settings var objModuleController = new ModuleController(); var objSettings = ModuleInfo.ModuleSettings; // Check that the settings hashtable was retrieved if (ReferenceEquals(objSettings, null)) { return(null); } // Setup the Report var objReport = new ReportInfo(); // Build the Report from the Module Settings var reportsModuleSettingsRepository = new ReportsModuleSettingsRepository(); var reportsModuleSettings = reportsModuleSettingsRepository.GetSettings(ModuleInfo); objReport.Title = reportsModuleSettings.Title; objReport.Description = reportsModuleSettings.Description; objReport.Parameters = reportsModuleSettings.Parameters; objReport.CreatedOn = reportsModuleSettings.CreatedOn; objReport.CreatedBy = reportsModuleSettings.CreatedBy; objReport.DataSource = reportsModuleSettings.DataSource; objReport.DataSourceClass = reportsModuleSettings.DataSourceClass; objReport.ModuleID = ModuleId; // Load Filter Settings var converterString = Convert.ToString( SettingsUtil.GetHashtableSetting(objSettings, ReportsConstants.SETTING_Converters, Null.NullString)); if (!string.IsNullOrEmpty(converterString.Trim())) { foreach (var converterItem in converterString.Split(';')) { if (!string.IsNullOrEmpty(converterItem.Trim())) { var converterArray = converterItem.Split('|'); if (converterArray.Length >= 2 && converterArray.Length <= 3) { var newconverter = new ConverterInstanceInfo(); newconverter.FieldName = converterArray[0]; newconverter.ConverterName = converterArray[1]; if (converterArray.Length == 3) { newconverter.Arguments = converterArray[2].Split(','); } ConverterUtils.AddConverter(objReport.Converters, newconverter); } } } } // Load the tab module settings (visualizer settings) if we have a tab module Id Hashtable objTabModuleSettings = null; if (TabModuleId != Null.NullInteger) { objTabModuleSettings = ModuleInfo.TabModuleSettings; objReport.ShowControls = reportsModuleSettings.ShowControls; objReport.ShowInfoPane = reportsModuleSettings.ShowInfoPane; objReport.AutoRunReport = reportsModuleSettings.AutoRunReport; objReport.TokenReplace = reportsModuleSettings.TokenReplace; objReport.CacheDuration = reportsModuleSettings.CacheDuration; objReport.ExportExcel = reportsModuleSettings.ExportExcel; // Read the visualizer name objReport.Visualizer = Convert.ToString( SettingsUtil.GetHashtableSetting(objTabModuleSettings, ReportsConstants.SETTING_Visualizer, "Grid")); } LoadExtensionSettings(objSettings, objTabModuleSettings, objReport); return(objReport); }