Пример #1
0
        // Internal version of SaveReportDefinition to allow SaveReport to use
        // the same ModuleController instance for both method calls
        private static void UpdateReportDefinition(ModuleController ctrl, int ModuleId, ReportInfo objReport)
        {
            var reportsModuleSettingsRepository = new ReportsModuleSettingsRepository();
            var moduleInfo            = ctrl.GetModule(ModuleId);
            var reportsModuleSettings = reportsModuleSettingsRepository.GetSettings(moduleInfo);

            // Update the module settings with the data from the report
            reportsModuleSettings.Title           = objReport.Title;
            reportsModuleSettings.Description     = objReport.Description;
            reportsModuleSettings.Parameters      = objReport.Parameters;
            reportsModuleSettings.DataSource      = objReport.DataSource;
            reportsModuleSettings.DataSourceClass = objReport.DataSourceClass;
            reportsModuleSettings.CreatedOn       = objReport.CreatedOn;
            reportsModuleSettings.CreatedBy       = objReport.CreatedBy;

            reportsModuleSettingsRepository.SaveSettings(moduleInfo, reportsModuleSettings);

            // Update data source settings
            // Can't do this in a common way because we must call a different method to
            // update Visualizer Settings and Data Source Settings
            if (!string.IsNullOrEmpty(objReport.DataSource))
            {
                var prefix = string.Format("{0}{1}_", ReportsConstants.PREFIX_DataSource, objReport.DataSource);
                foreach (var pair in objReport.DataSourceSettings)
                {
                    ctrl.UpdateModuleSetting(ModuleId, string.Concat(prefix, pair.Key), Convert.ToString(pair.Value));
                }
            }

            // Update Converter settigns
            var ConverterBuilder = new StringBuilder();

            foreach (var list in objReport.Converters.Values)
            {
                foreach (var Converter in list)
                {
                    ConverterBuilder.Append(Converter.FieldName);
                    ConverterBuilder.Append("|");
                    ConverterBuilder.Append(Converter.ConverterName);
                    if (Converter.Arguments != null && Converter.Arguments.Length > 0)
                    {
                        ConverterBuilder.Append("|");
                        ConverterBuilder.Append(string.Join(",", Converter.Arguments));
                    }
                    ConverterBuilder.Append(";");
                }
            }
            ctrl.UpdateModuleSetting(ModuleId, ReportsConstants.SETTING_Converters, ConverterBuilder.ToString());
        }
Пример #2
0
        // Internal version of SaveReportViewSettings to allow SaveReport to use
        // the same ModuleController instance for both method calls
        private static void UpdateReportView(ModuleController ctrl, int TabModuleId, ReportInfo objReport)
        {
            var reportsModuleSettingsRepository = new ReportsModuleSettingsRepository();
            var moduleInfo            = ctrl.GetTabModule(TabModuleId);
            var reportsModuleSettings = reportsModuleSettingsRepository.GetSettings(moduleInfo);

            // Update the cache duration if it is specified
            if (!objReport.CacheDuration.Equals(Null.NullInteger))
            {
                ctrl.UpdateTabModuleSetting(TabModuleId, ReportsConstants.SETTING_CacheDuration,
                                            objReport.CacheDuration.ToString());
            }

            reportsModuleSettings.ShowInfoPane  = objReport.ShowInfoPane;
            reportsModuleSettings.ShowControls  = objReport.ShowControls;
            reportsModuleSettings.AutoRunReport = objReport.AutoRunReport;
            reportsModuleSettings.ExportExcel   = objReport.ExportExcel;
            reportsModuleSettings.TokenReplace  = objReport.TokenReplace;
            reportsModuleSettings.CacheDuration = objReport.CacheDuration;

            //Update the visualizer setting
            reportsModuleSettings.Visualizer = objReport.Visualizer;

            reportsModuleSettingsRepository.SaveSettings(moduleInfo, reportsModuleSettings);

            // Update the Visualizer Settings
            // Can't do this in a common way because we must call a different method to
            // update Visualizer Settings and Data Source Settings
            if (!string.IsNullOrEmpty(objReport.Visualizer))
            {
                // Build the visualizer setting prefix (see GetReport)
                var strVisPrefix = string.Format("{0}{1}_", ReportsConstants.PREFIX_Visualizer, objReport.Visualizer);

                // For each visualizer setting
                foreach (var pair in objReport.VisualizerSettings)
                {
                    // Prepend the visualizer setting prefix and save to tab module settings
                    ctrl.UpdateTabModuleSetting(TabModuleId, string.Concat(strVisPrefix, pair.Key),
                                                Convert.ToString(pair.Value));
                }
            }
        }
Пример #3
0
        /// -----------------------------------------------------------------------------
        /// <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;

                // Read the visualizer name
                objReport.Visualizer =
                    Convert.ToString(
                        SettingsUtil.GetHashtableSetting(objTabModuleSettings, ReportsConstants.SETTING_Visualizer,
                                                         "Grid"));
            }

            LoadExtensionSettings(objSettings, objTabModuleSettings, objReport);

            return(objReport);
        }
Пример #4
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        ///     LoadSettings loads the settings from the Database and displays them
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// </history>
        /// -----------------------------------------------------------------------------
        public override void LoadSettings()
        {
            if (!this.Page.IsPostBack)
            {
                this.Report = ReportsController.GetReport(this.ModuleConfiguration);
                if (ReferenceEquals(this.Report, null))
                {
                    this.Report = new ReportInfo();
                }

                var reportsModuleSettingsRepository = new ReportsModuleSettingsRepository();
                var reportsModuleSettings           = reportsModuleSettingsRepository.GetSettings(this.ModuleConfiguration);

                // If the user has permission to see the Data Source Settings
                if (this.CheckPermissions())
                {
                    // Load the fields
                    this.txtTitle.Text       = reportsModuleSettings.Title;
                    this.txtDescription.Text = reportsModuleSettings.Description;
                    this.txtParameters.Text  = reportsModuleSettings.Parameters;

                    // Load the Data Source Settings
                    var temp_extensionName = reportsModuleSettings.DataSource;
                    this.LoadExtensionSettings("DataSource", ref temp_extensionName, "DataSourceName.Text",
                                               "DataSource.Text", ReportsConstants.DEFAULT_DataSource,
                                               this.DataSourceDropDown,
                                               this.DataSourceSettings, this.DataSourceNotConfiguredView,
                                               this.Report.DataSourceSettings,
                                               ReportsConstants.FILENAME_RESX_DataSource, true);
                    this.Report.DataSource = temp_extensionName;

                    // Load the filtering settings
                    var encodeBuilder = new StringBuilder();
                    var decodeBuilder = new StringBuilder();
                    foreach (List <ConverterInstanceInfo> list in this.Report.Converters.Values)
                    {
                        foreach (var Converter in list)
                        {
                            StringBuilder builder = null;
                            if ("HtmlEncode".Equals(Converter.ConverterName))
                            {
                                builder = encodeBuilder;
                            }
                            else if ("HtmlDecode".Equals(Converter.ConverterName))
                            {
                                builder = decodeBuilder;
                            }

                            if (builder != null)
                            {
                                if (builder.Length > 0)
                                {
                                    builder.Append(",");
                                }
                                builder.Append(Converter.FieldName);
                            }
                        }
                    }
                    this.txtHtmlEncode.Text = encodeBuilder.ToString();
                    this.txtHtmlDecode.Text = decodeBuilder.ToString();
                }

                this.txtCacheDuration.Text    = reportsModuleSettings.CacheDuration.ToString();
                this.chkShowInfoPane.Checked  = reportsModuleSettings.ShowInfoPane;
                this.chkShowControls.Checked  = reportsModuleSettings.ShowControls;
                this.chkAutoRunReport.Checked = reportsModuleSettings.AutoRunReport;
                this.chkTokenReplace.Checked  = reportsModuleSettings.TokenReplace;

                // Set the caching checkbox
                if (reportsModuleSettings.CacheDuration <= 0)
                {
                    this.chkCaching.Checked   = false;
                    this.Report.CacheDuration = 0;
                }
                else
                {
                    this.chkCaching.Checked = true;
                }

                // Update the cache duration text box visibility
                this.UpdateCachingSpan();

                // Load Visualizer Settings
                var temp_extensionName2 = reportsModuleSettings.Visualizer;
                this.LoadExtensionSettings("Visualizer", ref temp_extensionName2, "VisualizerName.Text",
                                           "Visualizer.Text", ReportsConstants.DEFAULT_Visualizer,
                                           this.VisualizerDropDown,
                                           this.VisualizerSettings, null, this.Report.VisualizerSettings,
                                           ReportsConstants.FILENAME_RESX_Visualizer, false);
                this.Report.Visualizer = temp_extensionName2;
            }
        }