public static void InstallConverter(ToolStripMenuItem menu, string destinationFolder) { if (!File.Exists(destinationFolder + "\\SealConverter.dll")) { var mi = new ToolStripMenuItem() { Text = "Install the PDF and Excel Converter..." }; menu.DropDownItems.Add(new ToolStripSeparator()); menu.DropDownItems.Add(mi); mi.Click += new EventHandler(delegate(object sender, EventArgs e) { if (MessageBox.Show("This will install the PDF and Excel converter component (trial version) from Ariacom.\r\n\r\nDo you want to continue ?", "PDF and Excel Converter installation", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { try { Cursor.Current = Cursors.WaitCursor; Thread thread = new Thread(delegate(object param) { var log = (ExecutionLogInterface)param; var version = Assembly.GetExecutingAssembly().GetName().Version.ToString().Substring(0, 3); try { WebClient myWebClient = new WebClient(); var zipPath = FileHelper.GetTempUniqueFileName("converter.zip"); log.Log("Downloading version {0} from https://ariacom.com...", version); var url = "https://ariacom.com/SealConverterDownload?v=" + version.Replace(".", "%2E"); myWebClient.DownloadFile(url, zipPath); if (log.IsJobCancelled()) { return; } log.Log("Extracting files to your Repository Assemblies directory '{0}'...", destinationFolder); FileHelper.ExtractZipFile(zipPath, "", destinationFolder); log.Log("Installation completed.\r\n"); log.Log("Please restart your applications to try the converter:"); log.Log("Run the Report Designer, execute a report and view the result in PDF and Excel."); File.Delete(zipPath); } catch (Exception ex) { log.Log("Unexpected exception:\r\n" + ex.Message + "\r\n"); log.Log("Please go to https://ariacom.com/SealConverterDownload"); } }); ExecutionForm frm = new ExecutionForm(thread); frm.Text = "PDF and Excel Converter installation"; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } }); } }
private void publishToolStripButton_Click(object sender, EventArgs e) { Thread thread = new Thread(delegate(object param) { publish((ExecutionLogInterface)param, (sender == publish2ToolStripButton)); }); if (thread != null) { ExecutionForm frm = new ExecutionForm(thread); frm.ShowDialog(); } if (!_publicationInError && MessageBox.Show("The site has been successfully published. Do you want to try it now ?", "Publisher", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { browseToolStripButton_Click(null, null); } }
private void summaryToolStripButton_Click(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; string result = _security.GetSecuritySummary(); ExecutionForm frm = new ExecutionForm(null); frm.Text = "Security summary"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = result; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Cursor.Current = Cursors.WaitCursor; try { setContext(context); if (_emailDevice != null) { if (context.PropertyDescriptor.Name == "HelperTestEmail") { _emailDevice.SendTestEmail(); } } else if (_fileServerDevice != null) { if (context.PropertyDescriptor.Name == "HelperTestConnection") { _fileServerDevice.TestConnection(); } } else if (_metaConnection != null) { if (context.PropertyDescriptor.Name == "HelperCheckConnection") { _metaConnection.CheckConnection(); } if (context.PropertyDescriptor.Name == "HelperCreateFromExcelAccess") { string accessDriver = "Microsoft Access Driver (*.mdb)"; string excelDriver = "Microsoft Excel Driver (*.xls)"; try { List <string> drivers = Helper.GetSystemDriverList(); string accessDriver2 = "Microsoft Access Driver (*.mdb, *.accdb)"; if (drivers.Contains(accessDriver2)) { accessDriver = accessDriver2; } string excelDriver2 = "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"; if (drivers.Contains(excelDriver2)) { excelDriver = excelDriver2; } } catch { } OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open an Excel or an MS Access File"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.InitialDirectory = _metaConnection.Source.Repository.RepositoryPath; if (dlg.ShowDialog() == DialogResult.OK) { string ext = Path.GetExtension(dlg.FileName); string driver = ""; if (ext == ".xls" || ext == ".xlsx" || ext == ".xlsm" || ext == ".xlsb") { _metaConnection.DatabaseType = DatabaseType.MSExcel; driver = excelDriver; } else if (ext == ".mdb" || ext == ".accdb") { _metaConnection.DatabaseType = DatabaseType.MSAccess; driver = accessDriver; } else { throw new Exception("Please select an Excel or MS Access file"); } string path = dlg.FileName.Replace(_metaConnection.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword); _metaConnection.ConnectionString = string.Format(@"Provider=MSDASQL.1;Extended Properties=""DBQ={0};Driver={{{1}}};""", path, driver); setModified(); MessageBox.Show("The connection has been created successfully", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (_metaTable != null) { if (context.PropertyDescriptor.Name == "HelperRefreshColumns") { _metaTable.Refresh(); setModified(); initEntity(_metaTable); } if (context.PropertyDescriptor.Name == "HelperCheckTable") { _metaTable.CheckTable(null); } } else if (_metaEnum != null) { if (context.PropertyDescriptor.Name == "HelperRefreshEnum") { _metaEnum.RefreshEnum(); setModified(); } } else if (_metaColumn != null) { if (context.PropertyDescriptor.Name == "HelperCheckColumn") { _metaColumn.MetaTable.CheckTable(_metaColumn); } else if (context.PropertyDescriptor.Name == "HelperCreateEnum") { MetaEnum result = _metaColumn.Source.CreateEnumFromColumn(_metaColumn); _metaColumn.EnumGUID = result.GUID; initEntity(result); setModified(); } else if (context.PropertyDescriptor.Name == "HelperShowValues") { try { Cursor.Current = Cursors.WaitCursor; string result = _metaColumn.MetaTable.ShowValues(_metaColumn); ExecutionForm frm = new ExecutionForm(null); frm.Text = "Show values"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = result; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } else if (context.PropertyDescriptor.Name == "HelperCreateDrillDates") { var year = _metaColumn.MetaTable.Source.AddColumn(_metaColumn.MetaTable); year.DisplayName = _metaColumn.DisplayName + " Year"; year.Type = ColumnType.DateTime; year.DateTimeStandardFormat = DateTimeStandardFormat.Custom; year.Format = "yyyy"; var month = _metaColumn.MetaTable.Source.AddColumn(_metaColumn.MetaTable); month.DisplayName = _metaColumn.DisplayName + " Month"; month.Type = ColumnType.DateTime; month.DateTimeStandardFormat = DateTimeStandardFormat.Custom; month.Format = "MM/yyyy"; if (_metaColumn.MetaTable.Source.Connection.DatabaseType == DatabaseType.Oracle) { year.Name = string.Format("trunc({0},'year')", _metaColumn.Name); month.Name = string.Format("trunc({0},'month')", _metaColumn.Name); } else if (_metaColumn.MetaTable.Source.Connection.DatabaseType == DatabaseType.MSSQLServer) { year.Name = string.Format("DATETIME2FROMPARTS(year({0}),1,1,0,0,0,0,0)", _metaColumn.Name); month.Name = string.Format("DATETIME2FROMPARTS(year({0}),month({0}),1,0,0,0,0,0)", _metaColumn.Name); } else if (_metaColumn.MetaTable.Source.Connection.DatabaseType == DatabaseType.MSAccess) { year.Name = string.Format("DateSerial(DatePart('yyyy',{0}), 1, 1)", _metaColumn.Name); month.Name = string.Format("DateSerial(DatePart('yyyy',{0}), DatePart('m',{0}), 1)", _metaColumn.Name); } year.DrillChildren.Add(month.GUID); month.DrillChildren.Add(_metaColumn.GUID); initEntity(_metaColumn.MetaTable); setModified(); MessageBox.Show("A 'Year' column and a 'Month' column have been added to the table with a drill hierarchy.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (context.PropertyDescriptor.Name == "HelperCreateSubReport") { Report report = Report.Create(Repository.Create()); //Only on detail view report.Views.Clear(); report.AddView(ReportViewTemplate.ModelDetailName); report.Views[0].InitParameters(true); report.Views[0].Parameters.First(i => i.Name == "restriction_button").BoolValue = false; report.Sources.RemoveAll(i => i.MetaSourceGUID != _metaColumn.Source.GUID); if (report.Sources.Count == 0) { throw new Exception("Unable to create the detail report. Please save the Data Source first..."); } //And one model ReportModel model = report.Models[0]; model.SourceGUID = _metaColumn.Source.GUID; //Add all the element of the table foreach (var el in _metaColumn.MetaTable.Columns.OrderBy(i => i.DisplayOrder)) { ReportElement element = ReportElement.Create(); element.MetaColumnGUID = el.GUID; element.Name = el.Name; element.PivotPosition = (el == _metaColumn ? PivotPosition.Page : PivotPosition.Row); model.Elements.Add(element); } string entityName = _metaColumn.MetaTable.Name; if (entityName.EndsWith("s")) { entityName = entityName.Substring(0, entityName.Length - 1); } string path = Path.Combine(_metaColumn.MetaTable.Source.Repository.SubReportsFolder, Helper.CleanFileName(entityName + " Detail.") + Repository.SealReportFileExtension); path = FileHelper.GetUniqueFileName(path); var sr = new SubReport() { Path = path.Replace(_metaColumn.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword), Name = entityName + " Detail" }; //And the restriction, try to find out the table primary keys try { DataTable schemaTables = ((OleDbConnection)_metaColumn.Source.GetOpenConnection()).GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, null); Helper.DisplayDataTable(schemaTables); foreach (DataRow row in schemaTables.Rows) { string schema = ""; if (schemaTables.Columns.Contains("TABLE_SCHEMA")) { schema = row["TABLE_SCHEMA"].ToString(); } else if (schemaTables.Columns.Contains("TABLE_SCHEM")) { schema = row["TABLE_SCHEM"].ToString(); } string fullName = (!string.IsNullOrEmpty(schema) ? _metaColumn.Source.GetTableName(schema) + "." : "") + _metaColumn.Source.GetTableName(row["TABLE_NAME"].ToString()); if (row["TABLE_NAME"].ToString() == _metaColumn.MetaTable.Name || fullName == _metaColumn.MetaTable.Name) { var col = _metaColumn.MetaTable.Columns.FirstOrDefault(i => i.Name.ToLower() == row["COLUMN_NAME"].ToString().ToLower() || i.Name.ToLower().EndsWith("." + row["COLUMN_NAME"].ToString().ToLower())); if (col != null) { sr.Restrictions.Add(col.GUID); } else { //not all pk available.... sr.Restrictions.Clear(); break; } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } string message = ""; if (sr.Restrictions.Count == 0) { //no PK found, we add the value itself... sr.Restrictions.Add(_metaColumn.GUID); message = "The Sub-Report restriction is based on the Column."; } else { message = "The Sub-Report restrictions are based on the table Primary Keys."; } foreach (var guid in sr.Restrictions) { ReportRestriction restriction = ReportRestriction.CreateReportRestriction(); restriction.MetaColumnGUID = guid; restriction.PivotPosition = PivotPosition.Row; restriction.Prompt = PromptType.Prompt; restriction.Operator = Operator.Equal; model.Restrictions.Add(restriction); if (!string.IsNullOrEmpty(model.Restriction)) { model.Restriction += "\r\nAND "; } model.Restriction += ReportRestriction.kStartRestrictionChar + restriction.GUID + ReportRestriction.kStopRestrictionChar; } model.InitReferences(); report.SaveToFile(path); _metaColumn.SubReports.Add(sr); if (MessageBox.Show(string.Format("A Sub-Report named '{0}' has been created in the dedicated Repository folder.\r\n{1}\r\nDo you want to edit it using a new Report Designer ?", Path.GetFileName(path), message), "Information", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { Process.Start(path); } ; _metaColumn.UpdateEditor(); setModified(); } else if (context.PropertyDescriptor.Name == "HelperAddSubReport") { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = string.Format(Repository.SealRootProductName + " Reports files (*.{0})|*.{0}|All files (*.*)|*.*", Repository.SealReportFileExtension); dlg.Title = "Select a Sub-Report having prompted restrictions"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.InitialDirectory = _metaColumn.Source.Repository.SubReportsFolder; if (dlg.ShowDialog() == DialogResult.OK) { Report report = Report.LoadFromFile(dlg.FileName, _metaColumn.Source.Repository, false); var sr = new SubReport() { Path = report.FilePath.Replace(_metaColumn.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword), Name = Path.GetFileNameWithoutExtension(dlg.FileName) }; bool tableOk = false; var restrList = new List <ReportRestriction>(); foreach (var model in report.Models.Where(i => i.Source.MetaSourceGUID == _metaColumn.Source.GUID)) { foreach (var restriction in model.Restrictions) { foreach (var table in _metaColumn.MetaTable.Source.MetaData.Tables) { var col = table.Columns.FirstOrDefault(i => i.GUID == restriction.MetaColumnGUID); if (col != null) { tableOk = true; if (!restrList.Exists(i => i.MetaColumnGUID == restriction.MetaColumnGUID)) { restrList.Add(restriction); } } } } } if (!tableOk) { throw new Exception("Unable to add this Sub-Report:\r\nThe report does not contain any restriction..."); } var frm = new MultipleSelectForm("Select the restrictions to include", restrList, "DisplayNameEl"); //select all by default for (int i = 0; i < frm.checkedListBox.Items.Count; i++) { frm.checkedListBox.SetItemChecked(i, true); } if (frm.ShowDialog() == DialogResult.OK) { foreach (object item in frm.CheckedItems) { sr.Restrictions.Add(((ReportRestriction)item).MetaColumnGUID); } _metaColumn.SubReports.Add(sr); MessageBox.Show(string.Format("The Sub-Report named '{0}' has been added with {1} restriction(s).", Path.GetFileName(dlg.FileName), sr.Restrictions.Count), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); _metaColumn.UpdateEditor(); setModified(); } } } else if (context.PropertyDescriptor.Name == "HelperOpenSubReportFolder") { Process.Start(_metaColumn.Source.Repository.SubReportsFolder); } } else if (_metaJoin != null) { if (context.PropertyDescriptor.Name == "HelperCheckJoin") { _metaJoin.CheckJoin(); } } else if (_model != null) { if (context.PropertyDescriptor.Name == "HelperViewJoins") { try { _model.JoinPaths = new StringBuilder(); _model.BuildQuery(); var frm = new ExecutionForm(null); frm.Text = "List of Joins"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = _model.JoinPaths.ToString(); frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { _model.JoinPaths = null; } } } else if (_reportView != null) { if (context.PropertyDescriptor.Name == "HelperReloadConfiguration") { _reportView.ReloadConfiguration(); } else if (context.PropertyDescriptor.Name == "HelperResetParameters") { _reportView.InitParameters(true); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetPDFConfigurations") { _reportView.PdfConfigurations = new List <string>(); _reportView.PdfConverter = null; _reportView.Information = Helper.FormatMessage("The PDF configuration values have been reset"); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetExcelConfigurations") { _reportView.ExcelConfigurations = new List <string>(); _reportView.ExcelConverter = null; _reportView.Information = Helper.FormatMessage("The Excel configuration values have been reset"); setModified(); } } else if (_configuration != null) { if (context.PropertyDescriptor.Name == "HelperResetPDFConfigurations") { _configuration.PdfConfigurations = new List <string>(); _configuration.PdfConverter = null; } else if (context.PropertyDescriptor.Name == "HelperResetExcelConfigurations") { _configuration.ExcelConfigurations = new List <string>(); _configuration.ExcelConverter = null; } } else if (_reportSchedule != null) { if (HandlerInterface != null && context.PropertyDescriptor.Name == "HelperEditProperties") { HandlerInterface.EditSchedule(_reportSchedule); } else if (context.PropertyDescriptor.Name == "HelperRunTaskScheduler") { Process.Start(Path.Combine(Environment.SystemDirectory, "taskschd.msc"), "/s"); } } else if (_parameter != null) { if (context.PropertyDescriptor.Name == "HelperResetParameterValue") { _parameter.Value = _parameter.ConfigValue; setModified(); } } else if (_security != null) { if (context.PropertyDescriptor.Name == "HelperSimulateLogin") { SecurityUser user = new SecurityUser(_security); user.WebUserName = _security.TestUserName; user.WebPassword = _security.TestPassword; if (_security.TestCurrentWindowsUser) { user.WebPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); } user.Authenticate(); try { Cursor.Current = Cursors.WaitCursor; ExecutionForm frm = new ExecutionForm(null); frm.Text = "Test a login"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = user.AuthenticationSummary; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } } else if (_widget != null) { if (context.PropertyDescriptor.Name == "ExecReportPath") { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = string.Format(Repository.SealRootProductName + " Reports files (*.{0})|*.{0}|All files (*.*)|*.*", Repository.SealReportFileExtension); dlg.Title = "Select report to execute from the Widget"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.InitialDirectory = Repository.Instance.ReportsFolder; if (dlg.ShowDialog() == DialogResult.OK) { Report report = Report.LoadFromFile(dlg.FileName, Repository.Instance, false); if (report.ExecutionView == null) { throw new Exception("This report has no view to execute..."); } _widget.ExecReportPath = report.FilePath.Replace(Repository.Instance.ReportsFolder, ""); _widget.ExecViewGUID = report.ExecutionView.GUID; _widget.UpdateEditor(); } } } } finally { Cursor.Current = Cursors.Default; } return(value); }
void tools_Click(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; _setModified = false; List <MetaSource> sources = new List <MetaSource>(); if (Report != null) { sources.AddRange(Report.Sources); } else if (Source != null) { sources.Add(Source); } Thread thread = null; if (sender == _checkSource) { thread = new Thread(delegate(object param) { CheckDataSources((ExecutionLogInterface)param, sources); }); } else if (sender == _refreshEnum) { thread = new Thread(delegate(object param) { RefreshEnums((ExecutionLogInterface)param, sources); }); } else if (sender == _exportSourceTranslations) { thread = new Thread(delegate(object param) { ExportSourceTranslations((ExecutionLogInterface)param); }); } else if (sender == _exportReportsTranslations) { thread = new Thread(delegate(object param) { ExportReportsTranslations((ExecutionLogInterface)param); }); } else if (sender == _synchronizeSchedules || sender == _synchronizeSchedulesCurrentUser) { if (!Helper.CheckTaskSchedulerOS()) { return; } thread = new Thread(delegate(object param) { SynchronizeSchedules((ExecutionLogInterface)param, sender == _synchronizeSchedulesCurrentUser); }); } else if (sender == _executeManager || sender == _executeDesigner) { string exe = (sender == _executeManager ? Repository.SealServerManager : Repository.SealReportDesigner); string path = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), exe); #if DEBUG path = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath) + string.Format(@"\..\..\..\{0}\bin\Debug", Path.GetFileNameWithoutExtension(exe)), exe); #endif var p = new Process(); p.StartInfo = new ProcessStartInfo(path) { UseShellExecute = true }; p.Start(); } else if (sender == _openReportFolder) { var p = new Process(); p.StartInfo = new ProcessStartInfo(Repository.Instance.ReportsFolder) { UseShellExecute = true }; p.Start(); } if (thread != null) { ExecutionForm frm = new ExecutionForm(thread); frm.ShowDialog(); } if (_setModified && EntityHandler != null) { EntityHandler.SetModified(); } } finally { Cursor.Current = Cursors.Default; } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Cursor.Current = Cursors.WaitCursor; try { setContext(context); if (_emailDevice != null) { if (context.PropertyDescriptor.Name == "HelperTestEmail") { _emailDevice.SendTestEmail(); } } else if (_metaConnection != null) { if (context.PropertyDescriptor.Name == "HelperCheckConnection") { _metaConnection.CheckConnection(); } if (context.PropertyDescriptor.Name == "HelperCreateFromExcelAccess") { string accessDriver = "Microsoft Access Driver (*.mdb)"; string excelDriver = "Microsoft Excel Driver (*.xls)"; try { List<string> drivers = Helper.GetSystemDriverList(); string accessDriver2 = "Microsoft Access Driver (*.mdb, *.accdb)"; if (drivers.Contains(accessDriver2)) accessDriver = accessDriver2; string excelDriver2 = "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"; if (drivers.Contains(excelDriver2)) excelDriver = excelDriver2; } catch { } OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open an Excel or an MS Access File"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.InitialDirectory = _metaConnection.Source.Repository.RepositoryPath; if (dlg.ShowDialog() == DialogResult.OK) { string ext = Path.GetExtension(dlg.FileName); string driver = ""; if (ext == ".xls" || ext == ".xlsx" || ext == ".xlsm" || ext == ".xlsb") { _metaConnection.DatabaseType = DatabaseType.MSExcel; driver = excelDriver; } else if (ext == ".mdb" || ext == ".accdb") { _metaConnection.DatabaseType = DatabaseType.MSAccess; driver = accessDriver; } else throw new Exception("Please select an Excel or MS Access file"); string path = dlg.FileName.Replace(_metaConnection.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword); _metaConnection.ConnectionString = string.Format(@"Provider=MSDASQL.1;Extended Properties=""DBQ={0};Driver={{{1}}};""", path, driver); setModified(); MessageBox.Show("The connection has been created successfully", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (_metaTable != null) { if (context.PropertyDescriptor.Name == "HelperRefreshColumns") { _metaTable.Refresh(); setModified(); initEntity(_metaTable); } if (context.PropertyDescriptor.Name == "HelperCheckTable") { _metaTable.CheckTable(null); } } else if (_metaEnum != null) { if (context.PropertyDescriptor.Name == "HelperRefreshEnum") { _metaEnum.RefreshEnum(); setModified(); } } else if (_metaColumn != null) { if (context.PropertyDescriptor.Name == "HelperCheckColumn") { _metaColumn.MetaTable.CheckTable(_metaColumn); } else if (context.PropertyDescriptor.Name == "HelperCreateEnum") { MetaEnum result = _metaColumn.Source.CreateEnumFromColumn(_metaColumn); _metaColumn.EnumGUID = result.GUID; initEntity(result); setModified(); } else if (context.PropertyDescriptor.Name == "HelperShowValues") { try { Cursor.Current = Cursors.WaitCursor; string result = _metaColumn.MetaTable.ShowValues(_metaColumn); ExecutionForm frm = new ExecutionForm(null); frm.Text = "Show values"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = result; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } else if (context.PropertyDescriptor.Name == "HelperCreateDrillDates") { var year = _metaColumn.MetaTable.Source.AddColumn(_metaColumn.MetaTable); year.DisplayName = _metaColumn.DisplayName + " Year"; year.Type = ColumnType.DateTime; year.DateTimeStandardFormat = DateTimeStandardFormat.Custom; year.Format = "yyyy"; var month = _metaColumn.MetaTable.Source.AddColumn(_metaColumn.MetaTable); month.DisplayName = _metaColumn.DisplayName + " Month"; month.Type = ColumnType.DateTime; month.DateTimeStandardFormat = DateTimeStandardFormat.Custom; month.Format = "MM/yyyy"; if (_metaColumn.MetaTable.Source.Connection.DatabaseType == DatabaseType.Oracle) { year.Name = string.Format("trunc({0},'year')", _metaColumn.Name); month.Name = string.Format("trunc({0},'month')", _metaColumn.Name); } else if (_metaColumn.MetaTable.Source.Connection.DatabaseType == DatabaseType.MSSQLServer) { year.Name = string.Format("select dateadd(dd, -day({0}) + 1, dateadd(mm, -month({0}) + 1, cast({0} as Date)))", _metaColumn.Name); month.Name = string.Format("select dateadd(dd, -day({0}) + 1, cast({0} as Date))", _metaColumn.Name); } else if (_metaColumn.MetaTable.Source.Connection.DatabaseType == DatabaseType.MSAccess) { year.Name = string.Format("DateSerial(DatePart('yyyy',{0}), 1, 1)", _metaColumn.Name); month.Name = string.Format("DateSerial(DatePart('yyyy',{0}), DatePart('m',{0}), 1)", _metaColumn.Name); } year.DrillChildren.Add(month.GUID); month.DrillChildren.Add(_metaColumn.GUID); initEntity(_metaColumn.MetaTable); setModified(); MessageBox.Show("A 'Year' column and a 'Month' column have been added to the table with a drill hierarchy.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (context.PropertyDescriptor.Name == "HelperCreateSubReport") { Report report = Report.Create(Repository.Create()); //Only on detail view report.Views.Clear(); report.AddView(ReportViewTemplate.ModelDetailHTMLName); report.Views[0].InitParameters(true); report.Views[0].Parameters.First(i => i.Name == "restriction_button").BoolValue = false; report.Sources.RemoveAll(i => i.MetaSourceGUID != _metaColumn.Source.GUID); if (report.Sources.Count == 0) throw new Exception("Unable to create the detail report. Please save the Data Source first..."); //And one model ReportModel model = report.Models[0]; model.SourceGUID = _metaColumn.Source.GUID; //Add all the element of the table foreach (var el in _metaColumn.MetaTable.Columns.OrderBy(i => i.DisplayOrder)) { ReportElement element = ReportElement.Create(); element.MetaColumnGUID = el.GUID; element.Name = el.Name; element.PivotPosition = (el == _metaColumn ? PivotPosition.Page : PivotPosition.Row); model.Elements.Add(element); } string entityName = _metaColumn.MetaTable.Name; if (entityName.EndsWith("s")) entityName = entityName.Substring(0, entityName.Length - 1); string path = Path.Combine(_metaColumn.MetaTable.Source.Repository.SubReportsFolder, Helper.CleanFileName(entityName + " Detail.") + Repository.SealReportFileExtension); path = FileHelper.GetUniqueFileName(path); var sr = new SubReport() { Path = path.Replace(_metaColumn.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword), Name = entityName + " Detail" }; //And the restriction, try to find out the table primary keys try { DataTable schemaTables = ((OleDbConnection)_metaColumn.Source.GetOpenConnection()).GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, null); Helper.DisplayDataTable(schemaTables); foreach (DataRow row in schemaTables.Rows) { string schema = ""; if (schemaTables.Columns.Contains("TABLE_SCHEMA")) schema = row["TABLE_SCHEMA"].ToString(); else if (schemaTables.Columns.Contains("TABLE_SCHEM")) schema = row["TABLE_SCHEM"].ToString(); string fullName = (!string.IsNullOrEmpty(schema) ? _metaColumn.Source.GetTableName(schema) + "." : "") + _metaColumn.Source.GetTableName(row["TABLE_NAME"].ToString()); if (row["TABLE_NAME"].ToString() == _metaColumn.MetaTable.Name || fullName == _metaColumn.MetaTable.Name) { var col = _metaColumn.MetaTable.Columns.FirstOrDefault(i => i.Name.ToLower() == row["COLUMN_NAME"].ToString().ToLower() || i.Name.ToLower().EndsWith("." + row["COLUMN_NAME"].ToString().ToLower())); if (col != null) { sr.Restrictions.Add(col.GUID); } else { //not all pk available.... sr.Restrictions.Clear(); break; } } } } catch { } string message = ""; if (sr.Restrictions.Count == 0) { //no PK found, we add the value itself... sr.Restrictions.Add(_metaColumn.GUID); message = "The Sub-Report restriction is based on the Column."; } else { message = "The Sub-Report restrictions are based on the table Primary Keys."; } foreach (var guid in sr.Restrictions) { ReportRestriction restriction = ReportRestriction.CreateReportRestriction(); restriction.MetaColumnGUID = guid; restriction.PivotPosition = PivotPosition.Row; restriction.Prompt = PromptType.Prompt; restriction.Operator = Operator.Equal; model.Restrictions.Add(restriction); if (!string.IsNullOrEmpty(model.Restriction)) model.Restriction += "\r\nAND "; model.Restriction += ReportRestriction.kStartRestrictionChar + restriction.GUID + ReportRestriction.kStopRestrictionChar; } report.SaveToFile(path); _metaColumn.SubReports.Add(sr); if (MessageBox.Show(string.Format("A Sub-Report named '{0}' has been created in the dedicated Repository folder.\r\n{1}\r\nDo you want to edit it using a new Report Designer ?", Path.GetFileName(path), message), "Information", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { Process.Start(path); }; _metaColumn.UpdateEditor(); setModified(); } else if (context.PropertyDescriptor.Name == "HelperAddSubReport") { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = string.Format(Repository.SealRootProductName + " Reports files (*.{0})|*.{0}|All files (*.*)|*.*", Repository.SealReportFileExtension); dlg.Title = "Select a Sub-Report having prompted restrictions"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.InitialDirectory = _metaColumn.Source.Repository.SubReportsFolder; if (dlg.ShowDialog() == DialogResult.OK) { Report report = Report.LoadFromFile(dlg.FileName, _metaColumn.Source.Repository); var sr = new SubReport() { Path = report.FilePath.Replace(_metaColumn.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword), Name = Path.GetFileNameWithoutExtension(dlg.FileName) }; foreach (var model in report.Models.Where(i => i.Source.MetaSourceGUID == _metaColumn.Source.GUID)) { foreach (var restriction in model.Restrictions.Where(i => i.Prompt != PromptType.None)) { var col = _metaColumn.MetaTable.Columns.FirstOrDefault(i => i.GUID == restriction.MetaColumnGUID); if (col != null) { sr.Restrictions.Add(col.GUID); } } } if (sr.Restrictions.Count == 0) throw new Exception("Unable to add this Sub-Report:\r\nThe report does no contain any prompted restriction belonging to the table..."); _metaColumn.SubReports.Add(sr); MessageBox.Show(string.Format("The Sub-Report named '{0}' has been added with {1} restriction(s).", Path.GetFileName(dlg.FileName), sr.Restrictions.Count), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); _metaColumn.UpdateEditor(); setModified(); } } else if (context.PropertyDescriptor.Name == "HelperOpenSubReportFolder") { Process.Start(_metaColumn.Source.Repository.SubReportsFolder); } } else if (_metaJoin != null) { if (context.PropertyDescriptor.Name == "HelperCheckJoin") { _metaJoin.CheckJoin(); } } else if (_reportView != null) { if (context.PropertyDescriptor.Name == "HelperReloadConfiguration") { _reportView.InitParameters(false); } else if (context.PropertyDescriptor.Name == "HelperResetParameters") { _reportView.InitParameters(true); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetCSSParameters") { _reportView.InitParameters(true, true, false); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetNVD3Parameters") { _reportView.InitParameters(true, false, true); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetChartConfiguration") { _reportView.ResetChartConfiguration(); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetPDFConfigurations") { _reportView.PdfConfigurations = new List<string>(); _reportView.PdfConverter = null; _reportView.Information = Helper.FormatMessage("The PDF configuration values have been reset"); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetExcelConfigurations") { _reportView.ExcelConfigurations = new List<string>(); _reportView.ExcelConverter = null; _reportView.Information = Helper.FormatMessage("The Excel configuration values have been reset"); setModified(); } } else if (_reportSchedule != null) { if (HandlerInterface != null && context.PropertyDescriptor.Name == "HelperEditProperties") { HandlerInterface.EditSchedule(_reportSchedule); } else if (context.PropertyDescriptor.Name == "HelperRunTaskScheduler") { Process.Start(Path.Combine(Environment.SystemDirectory, "taskschd.msc"), "/s"); } } else if (_parameter != null) { if (context.PropertyDescriptor.Name == "HelperResetParameterValue") { _parameter.Value = _parameter.ConfigValue; setModified(); } } else if (_security != null) { if (context.PropertyDescriptor.Name == "HelperSimulateLogin") { SecurityUser user = new SecurityUser(_security); user.WebUserName = _security.TestUserName; user.WebPassword = _security.TestPassword; if (_security.TestCurrentWindowsUser) user.WebPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); user.Authenticate(); try { Cursor.Current = Cursors.WaitCursor; ExecutionForm frm = new ExecutionForm(null); frm.Text = "Test a login"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = user.AuthenticationSummary; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } } } finally { Cursor.Current = Cursors.Default; } return value; }
private void publishToolStripButton_Click(object sender, EventArgs e) { Thread thread = new Thread(delegate(object param) { publish((ExecutionLogInterface)param, (sender == publish2ToolStripButton)); }); if (thread != null) { ExecutionForm frm = new ExecutionForm(thread); frm.ShowDialog(); } if (!_publicationInError) _configuration.SaveToFile(); if (!_publicationInError && MessageBox.Show("The site has been successfully published. Do you want to try it now ?", "Publisher", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { browseToolStripButton_Click(null, null); } }
void tools_Click(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; _setModified = false; List<MetaSource> sources = new List<MetaSource>(); if (Report != null) sources.AddRange(Report.Sources); else if (Source != null) sources.Add(Source); Thread thread = null; if (sender == _checkSource) { thread = new Thread(delegate(object param) { CheckDataSources((ExecutionLogInterface)param, sources); }); } else if (sender == _refreshEnum) { thread = new Thread(delegate(object param) { RefreshEnums((ExecutionLogInterface)param, sources); }); } else if (sender == _checkExecution) { thread = new Thread(delegate(object param) { CheckExecutions((ExecutionLogInterface)param); }); } else if (sender == _exportSourceTranslations) { thread = new Thread(delegate(object param) { ExportSourceTranslations((ExecutionLogInterface)param); }); } else if (sender == _exportReportsTranslations) { thread = new Thread(delegate(object param) { ExportReportsTranslations((ExecutionLogInterface)param); }); } else if (sender == _synchronizeSchedules || sender == _synchronizeSchedulesCurrentUser) { if (!Helper.CheckTaskSchedulerOS()) return; thread = new Thread(delegate(object param) { SynchronizeSchedules((ExecutionLogInterface)param, sender == _synchronizeSchedulesCurrentUser); }); } else if (sender == _executeManager || sender == _executeDesigner) { string exe = (sender == _executeManager ? Repository.SealServerManager : Repository.SealReportDesigner); string path = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), exe); #if DEBUG path = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath) + string.Format(@"\..\..\..\{0}\bin\Debug", Path.GetFileNameWithoutExtension(exe)), exe); #endif Process.Start(path); } else if (sender == _openReportFolder) { Process.Start(Repository.Instance.ReportsFolder); } if (thread != null) { ExecutionForm frm = new ExecutionForm(thread); frm.ShowDialog(); } if (_setModified && EntityHandler != null) EntityHandler.SetModified(); } finally { Cursor.Current = Cursors.Default; } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Cursor.Current = Cursors.WaitCursor; try { setContext(context); if (_emailDevice != null) { if (context.PropertyDescriptor.Name == "HelperTestEmail") { _emailDevice.SendTestEmail(); } } else if (_metaConnection != null) { if (context.PropertyDescriptor.Name == "HelperCheckConnection") { _metaConnection.CheckConnection(); } if (context.PropertyDescriptor.Name == "HelperCreateFromExcelAccess") { string accessDriver = "Microsoft Access Driver (*.mdb)"; string excelDriver = "Microsoft Excel Driver (*.xls)"; try { List<string> drivers = Helper.GetSystemDriverList(); string accessDriver2 = "Microsoft Access Driver (*.mdb, *.accdb)"; if (drivers.Contains(accessDriver2)) accessDriver = accessDriver2; string excelDriver2 = "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"; if (drivers.Contains(excelDriver2)) excelDriver = excelDriver2; } catch { } OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open an Excel or an MS Access File"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.InitialDirectory = _metaConnection.Source.Repository.RepositoryPath; if (dlg.ShowDialog() == DialogResult.OK) { string ext = Path.GetExtension(dlg.FileName); string driver = ""; if (ext == ".xls" || ext == ".xlsx" || ext == ".xlsm" || ext == ".xlsb") { _metaConnection.DatabaseType = DatabaseType.MSExcel; driver = excelDriver; } else if (ext == ".mdb" || ext == ".accdb") { _metaConnection.DatabaseType = DatabaseType.MSAccess; driver = accessDriver; } else throw new Exception("Please select an Excel or MS Access file"); string path = dlg.FileName.Replace(_metaConnection.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword); _metaConnection.ConnectionString = string.Format(@"Provider=MSDASQL.1;Extended Properties=""DBQ={0};Driver={{{1}}};""", path, driver); setModified(); MessageBox.Show("The connection has been created successfully", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (_metaTable != null) { if (context.PropertyDescriptor.Name == "HelperRefreshColumns") { _metaTable.Refresh(); setModified(); initEntity(_metaTable); } if (context.PropertyDescriptor.Name == "HelperCheckTable") { _metaTable.CheckTable(null); } } else if (_metaEnum != null) { if (context.PropertyDescriptor.Name == "HelperRefreshEnum") { _metaEnum.RefreshEnum(); setModified(); } } else if (_metaColumn != null) { if (context.PropertyDescriptor.Name == "HelperCheckColumn") { _metaColumn.MetaTable.CheckTable(_metaColumn); } else if (context.PropertyDescriptor.Name == "HelperCreateEnum") { MetaEnum result = _metaColumn.Source.CreateEnumFromColumn(_metaColumn); _metaColumn.EnumGUID = result.GUID; initEntity(result); setModified(); } if (context.PropertyDescriptor.Name == "HelperShowValues") { try { Cursor.Current = Cursors.WaitCursor; string result = _metaColumn.MetaTable.ShowValues(_metaColumn); ExecutionForm frm = new ExecutionForm(null); frm.Text = "Show values"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = result; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } } else if (_metaJoin != null) { if (context.PropertyDescriptor.Name == "HelperCheckJoin") { _metaJoin.CheckJoin(); } } else if (_reportView != null) { if (context.PropertyDescriptor.Name == "HelperReloadConfiguration") { _reportView.InitParameters(false); } else if (context.PropertyDescriptor.Name == "HelperResetParameters") { _reportView.InitParameters(true); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetChartConfiguration") { _reportView.ResetChartConfiguration(); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetNVD3ChartConfiguration") { var defaultValue = _reportView.Template.Parameters.FirstOrDefault(i => i.Name == Parameter.NVD3ConfigurationParameter); if (_reportView.NVD3ConfigurationParameter != null && defaultValue != null) { _reportView.NVD3Configuration = defaultValue.TextValue; _reportView.Information = Helper.FormatMessage("NVD3 Chart configuration has been reset"); setModified(); } } else if (context.PropertyDescriptor.Name == "HelperResetPDFConfigurations") { _reportView.PdfConfigurations = new List<string>(); _reportView.PdfConverter = null; _reportView.Information = Helper.FormatMessage("The PDF configuration values have been reset"); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetExcelConfigurations") { _reportView.ExcelConfigurations = new List<string>(); _reportView.ExcelConverter = null; _reportView.Information = Helper.FormatMessage("The Excel configuration values have been reset"); setModified(); } } else if (_reportSchedule != null) { if (HandlerInterface != null && context.PropertyDescriptor.Name == "HelperEditProperties") { HandlerInterface.EditSchedule(_reportSchedule); } else if (context.PropertyDescriptor.Name == "HelperRunTaskScheduler") { Process.Start(Path.Combine(Environment.SystemDirectory, "taskschd.msc"), "/s"); } } else if (_parameter != null) { if (context.PropertyDescriptor.Name == "HelperResetParameterValue") { _parameter.Value = _parameter.ConfigValue; setModified(); } } else if (_security != null) { if (context.PropertyDescriptor.Name == "HelperSimulateLogin") { SecurityUser user = new SecurityUser(_security); user.WebUserName = _security.TestUserName; user.WebPassword = _security.TestPassword; if (_security.TestCurrentWindowsUser) user.WebPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); user.Authenticate(); try { Cursor.Current = Cursors.WaitCursor; ExecutionForm frm = new ExecutionForm(null); frm.Text = "Test a login"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = user.AuthenticationSummary; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } } } finally { Cursor.Current = Cursors.Default; } return value; }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Cursor.Current = Cursors.WaitCursor; try { setContext(context); if (_emailDevice != null) { if (context.PropertyDescriptor.Name == "HelperTestEmail") { _emailDevice.SendTestEmail(); } } else if (_metaConnection != null) { if (context.PropertyDescriptor.Name == "HelperCheckConnection") { _metaConnection.CheckConnection(); } if (context.PropertyDescriptor.Name == "HelperCreateFromExcelAccess") { string accessDriver = "Microsoft Access Driver (*.mdb)"; string excelDriver = "Microsoft Excel Driver (*.xls)"; try { List <string> drivers = Helper.GetSystemDriverList(); string accessDriver2 = "Microsoft Access Driver (*.mdb, *.accdb)"; if (drivers.Contains(accessDriver2)) { accessDriver = accessDriver2; } string excelDriver2 = "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"; if (drivers.Contains(excelDriver2)) { excelDriver = excelDriver2; } } catch { } OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open an Excel or an MS Access File"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.InitialDirectory = _metaConnection.Source.Repository.RepositoryPath; if (dlg.ShowDialog() == DialogResult.OK) { string ext = Path.GetExtension(dlg.FileName); string driver = ""; if (ext == ".xls" || ext == ".xlsx" || ext == ".xlsm" || ext == ".xlsb") { _metaConnection.DatabaseType = DatabaseType.MSExcel; driver = excelDriver; } else if (ext == ".mdb" || ext == ".accdb") { _metaConnection.DatabaseType = DatabaseType.MSAccess; driver = accessDriver; } else { throw new Exception("Please select an Excel or MS Access file"); } string path = dlg.FileName.Replace(_metaConnection.Source.Repository.RepositoryPath, Repository.SealRepositoryKeyword); _metaConnection.ConnectionString = string.Format(@"Provider=MSDASQL.1;Extended Properties=""DBQ={0};Driver={{{1}}};""", path, driver); setModified(); MessageBox.Show("The connection has been created successfully", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (_metaTable != null) { if (context.PropertyDescriptor.Name == "HelperRefreshColumns") { _metaTable.Refresh(); setModified(); initEntity(_metaTable); } if (context.PropertyDescriptor.Name == "HelperCheckTable") { _metaTable.CheckTable(null); } } else if (_metaEnum != null) { if (context.PropertyDescriptor.Name == "HelperRefreshEnum") { _metaEnum.RefreshEnum(); setModified(); } } else if (_metaColumn != null) { if (context.PropertyDescriptor.Name == "HelperCheckColumn") { _metaColumn.MetaTable.CheckTable(_metaColumn); } else if (context.PropertyDescriptor.Name == "HelperCreateEnum") { MetaEnum result = _metaColumn.Source.CreateEnumFromColumn(_metaColumn); _metaColumn.EnumGUID = result.GUID; initEntity(result); setModified(); } if (context.PropertyDescriptor.Name == "HelperShowValues") { try { Cursor.Current = Cursors.WaitCursor; string result = _metaColumn.MetaTable.ShowValues(_metaColumn); ExecutionForm frm = new ExecutionForm(null); frm.Text = "Show values"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = result; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } } else if (_metaJoin != null) { if (context.PropertyDescriptor.Name == "HelperCheckJoin") { _metaJoin.CheckJoin(); } } else if (_reportView != null) { if (context.PropertyDescriptor.Name == "HelperReloadConfiguration") { _reportView.InitParameters(false); } else if (context.PropertyDescriptor.Name == "HelperResetParameters") { _reportView.InitParameters(true); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetChartConfiguration") { _reportView.ResetChartConfiguration(); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetNVD3ChartConfiguration") { var defaultValue = _reportView.Template.Parameters.FirstOrDefault(i => i.Name == Parameter.NVD3ConfigurationParameter); if (_reportView.NVD3ConfigurationParameter != null && defaultValue != null) { _reportView.NVD3Configuration = defaultValue.TextValue; _reportView.Information = Helper.FormatMessage("NVD3 Chart configuration has been reset"); setModified(); } } else if (context.PropertyDescriptor.Name == "HelperResetPDFConfigurations") { _reportView.PdfConfigurations = new List <string>(); _reportView.PdfConverter = null; _reportView.Information = Helper.FormatMessage("The PDF configuration values have been reset"); setModified(); } else if (context.PropertyDescriptor.Name == "HelperResetExcelConfigurations") { _reportView.ExcelConfigurations = new List <string>(); _reportView.ExcelConverter = null; _reportView.Information = Helper.FormatMessage("The Excel configuration values have been reset"); setModified(); } } else if (_reportSchedule != null) { if (HandlerInterface != null && context.PropertyDescriptor.Name == "HelperEditProperties") { HandlerInterface.EditSchedule(_reportSchedule); } else if (context.PropertyDescriptor.Name == "HelperRunTaskScheduler") { Process.Start(Path.Combine(Environment.SystemDirectory, "taskschd.msc"), "/s"); } } else if (_parameter != null) { if (context.PropertyDescriptor.Name == "HelperResetParameterValue") { _parameter.Value = _parameter.ConfigValue; setModified(); } } else if (_security != null) { if (context.PropertyDescriptor.Name == "HelperSimulateLogin") { SecurityUser user = new SecurityUser(_security); user.WebUserName = _security.TestUserName; user.WebPassword = _security.TestPassword; if (_security.TestCurrentWindowsUser) { user.WebPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); } user.Authenticate(); try { Cursor.Current = Cursors.WaitCursor; ExecutionForm frm = new ExecutionForm(null); frm.Text = "Test a login"; frm.cancelToolStripButton.Visible = false; frm.pauseToolStripButton.Visible = false; frm.logTextBox.Text = user.AuthenticationSummary; frm.logTextBox.SelectionStart = 0; frm.logTextBox.SelectionLength = 0; frm.ShowDialog(); } finally { Cursor.Current = Cursors.Default; } } } } finally { Cursor.Current = Cursors.Default; } return(value); }