/// <summary> /// Actions related with the Save Columns Width event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessSaveColumnsWidthTriggered(object sender, TriggerEventArgs e) { if (CurrentDisplaySet == null || !CurrentDisplaySet.Custom) { return; } // Get the columns width from the Viewer List <int> columnsWidth = Viewer.GetColumnsWidth(); if (columnsWidth == null) { return; } // Assign the width to the visible items in the custom DisplaySet try { int colIndex = 0; foreach (DisplaySetItem item in CurrentDisplaySet.DisplaySetItems) { if (item.Visible) { item.Width = columnsWidth[colIndex]; colIndex++; } } } catch { } SaveScenarioInfoInPrefecences(); }
/// <summary> /// Preferences Trigger Handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HandlePreferencesTriggered(object sender, TriggerEventArgs e) { IUQueryController queryController = Parent as IUQueryController; if (queryController == null) { return; } if (!queryController.CheckPendingChanges(true, true)) { return; } bool lRefresh = false; lRefresh = ScenarioManager.LaunchPreferencesScenario(queryController); if (!lRefresh) { return; } // Refresh all data OnExecuteCommand(new ExecuteCommandEventArgs(ExecuteCommandType.ExecuteRefresh)); }
/// <summary> /// Handles the event when the next page of the DisplaySet presentation is required. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">TriggerEventArgs.</param> private void HandlePopulationNextPage(object sender, TriggerEventArgs e) { if ((mDataTable == null) || (mDataTable.Rows.Count == 0)) { // Raise event. OnNextPage(new NextPageEventArgs()); } else // DataTable has rows. { // Get first visible row int lVisibleRow = 0; if (Population != null) { lVisibleRow = Population.FirstVisibleRow; } // Raise event. OnNextPage(new NextPageEventArgs()); // Set first visible row if (Population != null) { Population.FirstVisibleRow = lVisibleRow; } } }
/// <summary> /// Handles the detail container Triggered event. Detail container becomes active. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HandleDetailContainerTriggered(object sender, TriggerEventArgs e) { // Raise the event only if there are no data. if (Master.Context.ExchangeInformation.SelectedOids == null || Master.Context.ExchangeInformation.SelectedOids.Count == 0) { OnRefreshDetailRequired(new EventArgs()); } }
/// <summary> /// Executes the Report leaf associated method. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">TriggerEventArgs object.</param> public void Execute(object sender, TriggerEventArgs e) { try { // Launch Filter scenario. ScenarioManager.LaunchFilterForReportScenario(ClassName, FilterName, DataSetFile, ReportFile, WindowTitle); } catch (Exception err) { ScenarioManager.LaunchErrorScenario(err); } }
/// <summary> /// Occurs when trigger presentation (magnifying glass) of the object-valued Argument is triggered. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">TriggerEventArgs.</param> protected void HandleTriggerExecute(object sender, TriggerEventArgs e) { // Actualize the context. IUContext lContext = null; if (Parent != null) { Parent.UpdateContext(); lContext = Parent.Context; } // Initialize class and service name. string lClassName = string.Empty; string lContainerName = string.Empty; if (IsServiceField) { IUServiceController lServiceController = Parent as IUServiceController; if (lServiceController != null) { lClassName = lServiceController.ClassName; lContainerName = lServiceController.Name; } } else if (IsFilterField) { IUFilterController lFilterController = Parent as IUFilterController; if (lFilterController != null) { IUPopulationContext lPopContext = lFilterController.Parent.Context as IUPopulationContext; lClassName = lPopContext.ClassName; lContainerName = lFilterController.Context.FilterName; lContext = lPopContext; } } // Create exchange information. ExchangeInfoSelectionForward lInfo = new ExchangeInfoSelectionForward( Domain, mSelectionScenario, lClassName, lContainerName, Name, MultiSelectionAllowed, IsNavigationalFilter, lContext); // Launch scenario. ScenarioManager.LaunchSelectionScenario(lInfo, this); }
/// <summary> /// Executes the HAT leaf associated method. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">TriggerEventArgs.</param> public void Execute(object sender, TriggerEventArgs e) { try { // Create exchange information. ExchangeInfoAction lExchangeInfo = new ExchangeInfoAction(this.ClassIUName, this.IUName, NavigationalFilteringIdentity, null, null); // Launch scenario. ScenarioManager.LaunchActionScenario(lExchangeInfo, null); } catch (Exception err) { ScenarioManager.LaunchErrorScenario(err); } }
/// <summary> /// Executes a Navigation Item navigation trigger associated. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">TriggerEventArgs.</param> public void Execute(Object sender, TriggerEventArgs e) { try { // Update context. ContextRequiredEventArgs contextEventArgs = new ContextRequiredEventArgs(); OnContextRequired(contextEventArgs); SelectedInstancesRequiredEventArgs lSelectedInstancesEventArgs = new SelectedInstancesRequiredEventArgs(); OnSelectedInstancesRequired(lSelectedInstancesEventArgs); if ((lSelectedInstancesEventArgs.SelectedInstances != null) && (lSelectedInstancesEventArgs.SelectedInstances.Count > 0)) { // Launch scenario. // Calculate the title text for the target scenario. string text2Title = ""; if (lSelectedInstancesEventArgs.SelectedInstances.Count == 1) { Oid lAuxOid = lSelectedInstancesEventArgs.SelectedInstances[0]; if (AlternateKeyName != string.Empty) { lAuxOid = Logics.Logic.GetAlternateKeyFromOid(lAuxOid, AlternateKeyName); } text2Title = UtilFunctions.GetText2Title(TargetScenarioAlias, InstanceAlias, lAuxOid, DisplaySet2TargetScenario); } ScenarioManager.LaunchNavigationScenario( new ExchangeInfoNavigation( ClassIUName, IUName, RolePath, NavigationalFilteringIdentity, lSelectedInstancesEventArgs.SelectedInstances, contextEventArgs.Context, text2Title, DefaultOrderCriteria), this); } else { string lMessage = CultureManager.TranslateString(LanguageConstantKeys.L_NO_SELECTION, LanguageConstantValues.L_NO_SELECTION); ScenarioManager.LaunchErrorScenario(new Exception(lMessage)); } } catch (Exception err) { ScenarioManager.LaunchErrorScenario(err); } }
/// <summary> /// Executes the Action Item. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">TriggerEventArgs</param> public void Execute(object sender, TriggerEventArgs e) { try { // Validate if there are pending changes in the interaction unit // which contains the action item. CheckForPendingChangesEventArgs eventArg = new CheckForPendingChangesEventArgs(); OnBeforeExecute(eventArg); if (eventArg.Cancel) { return; } ContextRequiredEventArgs contextEventArgs = new ContextRequiredEventArgs(); OnContextRequired(contextEventArgs); SelectedInstancesRequiredEventArgs lSelectedInstancesEventArgs = new SelectedInstancesRequiredEventArgs(); OnSelectedInstancesRequired(lSelectedInstancesEventArgs); ExchangeInfoAction lExchangeInfoAction = null; if (this.IsNavigationalFilter) { lExchangeInfoAction = new ExchangeInfoAction(ClassIUName, IUName, NavigationalFilteringIdentity, lSelectedInstancesEventArgs.SelectedInstances, contextEventArgs.Context); } else { lExchangeInfoAction = new ExchangeInfoAction(ClassIUName, IUName, lSelectedInstancesEventArgs.SelectedInstances, contextEventArgs.Context); } // Set default order criteria lExchangeInfoAction.DefaultOrderCriteria = DefaultOrderCriteria; // Raise the event Launching Scenario. LaunchingScenarioEventArgs lLaunchScenarioArgs = new LaunchingScenarioEventArgs(lExchangeInfoAction); OnLaunchingScenario(lLaunchScenarioArgs); // Launch scenario. ScenarioManager.LaunchActionScenario(lExchangeInfoAction, this); } catch (Exception err) { ScenarioManager.LaunchErrorScenario(err); } }
/// <summary> /// Handles the event when the previous page of the DisplaySet presentation is required. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">TriggerEventArgs.</param> private void HandlePopulationPreviousPage(Object sender, TriggerEventArgs e) { OnPreviousPage(new PreviousPageEventArgs()); }
/// <summary> /// Preferences Trigger Handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HandlePreferencesTriggered(object sender, TriggerEventArgs e) { IUQueryController queryController = Parent as IUQueryController; if (queryController == null) return; if (!queryController.CheckPendingChanges(true, true)) { return; } bool lRefresh = false; lRefresh = ScenarioManager.LaunchPreferencesScenario(queryController); if (!lRefresh) return; // Refresh all data OnExecuteCommand(new ExecuteCommandEventArgs(ExecuteCommandType.ExecuteRefresh)); }
/// <summary> /// Actions related with the Save Columns Width event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessSaveColumnsWidthTriggered(object sender, TriggerEventArgs e) { if (CurrentDisplaySet == null || !CurrentDisplaySet.Custom) { return; } // Get the columns width from the Viewer List<int> columnsWidth = Viewer.GetColumnsWidth(); if (columnsWidth == null) return; // Assign the width to the visible items in the custom DisplaySet try { int colIndex = 0; foreach (DisplaySetItem item in CurrentDisplaySet.DisplaySetItems) { if (item.Visible) { item.Width = columnsWidth[colIndex]; colIndex++; } } } catch { } SaveScenarioInfoInPrefecences(); }
/// <summary> /// Executes the HAT leaf associated method. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">TriggerEventArgs.</param> public void Execute(object sender, TriggerEventArgs e) { try { // Create exchange information. ExchangeInfoAction lExchangeInfo = new ExchangeInfoAction(this.ClassIUName, this.IUName,NavigationalFilteringIdentity, null, null); // Launch scenario. ScenarioManager.LaunchActionScenario(lExchangeInfo, null); } catch (Exception err) { ScenarioManager.LaunchErrorScenario(err); } }
/// <summary> /// Related actions with the Execute Previous event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessExecutePrevious(object sender, TriggerEventArgs e) { if (PreviousTrigger != null && PreviousTrigger.Enabled && PreviousTrigger.Visible) { Execute_GoNextPrevious(false); } }
/// <summary> /// Executes actions related to SavePosition event. /// </summary> protected virtual void OnSavePosition(Object sender, TriggerEventArgs e) { SavePosition(); }
/// <summary> /// Process the Display Service execute event /// </summary> protected virtual void ProcessExecuteServiceTriggered(object sender, TriggerEventArgs e) { // Before executing the DisplaySet Service it is needed to check for pending changes in associated Service IU. IUQueryController queryController = Parent as IUQueryController; if (queryController != null && !queryController.CheckPendingChanges(false, true)) { return; } if (CurrentDisplaySet.ServiceInfo == null) { return; } // Gets modified rows from the viewer DataTable modifiedRows = Viewer.GetModifiedRows(); if (modifiedRows == null) { return; } // Validate the modified data if (!ValidateModifiedRows(modifiedRows)) { return; } // Error datatable DataTable errorReport = new DataTable(); // Column for the OID string instanceColumnsName = CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentAlias; errorReport.Columns.Add(instanceColumnsName); // Column for the error message string lReportMessage = CultureManager.TranslateString(LanguageConstantKeys.L_MULTIEXE_EXECUTION, LanguageConstantValues.L_MULTIEXE_EXECUTION); errorReport.Columns.Add(lReportMessage); IUServiceContext lServiceContext = null; // For every modified row do... foreach (DataRow rowValues in modifiedRows.Rows) { // Create new IUServiceContext. lServiceContext = new IUServiceContext(null, CurrentDisplaySet.ServiceInfo.ClassServiceName, CurrentDisplaySet.ServiceInfo.ServiceName, null); // Add argunment this to the service context. List <Oid> instanceOIDs = new List <Oid>(); Oid instanceOID = Adaptor.ServerConnection.GetOid(modifiedRows, rowValues); instanceOIDs.Add(instanceOID); lServiceContext.InputFields.Add(CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentName, new IUContextArgumentInfo(CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentName, instanceOIDs, true, null)); // Fill the collections for the other inbound arguments. foreach (DisplaySetServiceArgumentInfo argumentInfo in CurrentDisplaySet.ServiceInfo.ArgumentDisplaySetPairs.Values) { object value = rowValues[argumentInfo.DSElementName]; if (value.GetType() == typeof(System.DBNull)) { value = null; } //Add input arguments with context. lServiceContext.InputFields.Add(argumentInfo.Name, new IUContextArgumentInfo(argumentInfo.Name, value, true, null)); } try { // Execute service. Logic.ExecuteService(lServiceContext); } catch (Exception exc) { string lAlternateKeyName = CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentAlternateKeyName; if (lAlternateKeyName != string.Empty) { instanceOID = Logic.GetAlternateKeyFromOid(instanceOID, lAlternateKeyName); } // Add a new row in the error datatable. DataRow newReportRow = errorReport.NewRow(); newReportRow[lReportMessage] = exc.Message; newReportRow[instanceColumnsName] = UtilFunctions.OidFieldsToString(instanceOID, ' '); errorReport.Rows.Add(newReportRow); } } // If errors have been found, show them if (errorReport.Rows.Count > 0) { // Show error message to the user ScenarioManager.LaunchMultiExecutionReportScenario(errorReport, CurrentDisplaySet.ServiceInfo.ServiceAlias, null, null); } // Remove the Pending changes mark PendingChanges = false; // Refresh the data OnExecuteCommand(new ExecuteCommandRefreshEventArgs(null)); }
/// <summary> /// Handles the event when a refreshing in the DisplaySet presentation is required. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">TriggerEventArgs.</param> private void HandlePopulationRefreshPage(Object sender, TriggerEventArgs e) { OnRefreshPage(new RefreshPageEventArgs()); }
/// <summary> /// Execute service triggered event handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HandleExecuteServiceTriggered(object sender, TriggerEventArgs e) { ProcessExecuteServiceTriggered(sender, e); }
/// <summary> /// SaveColumnsWidth Trigger Handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HandleSaveColumnsWidthTriggered(object sender, TriggerEventArgs e) { ProcessSaveColumnsWidthTriggered(sender, e); }
/// <summary> /// Related actions with the Execute Apply Previous event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessExecuteApplyPrevious(object sender, TriggerEventArgs e) { if (ApplyPreviousTrigger != null && ApplyPreviousTrigger.Enabled && ApplyPreviousTrigger.Visible) { // Execute the service. if (!ExecuteService(true)) { return; } // Refresh the current instance. RefreshRequiredInstancesEventArgs arguments = new RefreshRequiredInstancesEventArgs(Context.ExchangeInformation.SelectedOids, Context.ExchangeInformation); OnRefreshRequired(arguments); // Move to the previous intance. Execute_GoNextPrevious(false); } }
/// <summary> /// Executes actions related to Ok trigger event. /// </summary> private void HandleExecuteOk(Object sender, TriggerEventArgs e) { ProcessExecuteOk(); }
/// <summary> /// This event occurs when the Previous is triggered. /// </summary> /// <param name="sender">Object sender.</param> /// <param name="e">TriggerEventArgs.</param> private void HandleExecutePrevious(Object sender, TriggerEventArgs e) { ProcessExecutePrevious(sender, e); }
/// <summary> /// Executes actions related with refreshing option menu. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HandleRefreshMenuItemTriggered(object sender, TriggerEventArgs e) { ProcessRefreshMenuItemTriggered(sender, e); }
private void HandlePreviewTrigger(object sender, TriggerEventArgs e) { PrintDirectly = false; Execute(); }
/// <summary> /// Process the Refresh Menu popup event. Refresh the information in the Tree, based on the selected node /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessRefreshMenuItemTriggered(object sender, TriggerEventArgs e) { Refresh(); }
/// <summary> /// Process the Display Service execute event /// </summary> protected virtual void ProcessExecuteServiceTriggered(object sender, TriggerEventArgs e) { // Before executing the DisplaySet Service it is needed to check for pending changes in associated Service IU. IUQueryController queryController = Parent as IUQueryController; if (queryController != null && !queryController.CheckPendingChanges(false, true)) { return; } if (CurrentDisplaySet.ServiceInfo == null) { return; } // Gets modified rows from the viewer DataTable modifiedRows = Viewer.GetModifiedRows(); if (modifiedRows == null) { return; } // Validate the modified data if (!ValidateModifiedRows(modifiedRows)) { return; } // Error datatable DataTable errorReport = new DataTable(); // Column for the OID string instanceColumnsName = CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentAlias; errorReport.Columns.Add(instanceColumnsName); // Column for the error message string lReportMessage = CultureManager.TranslateString(LanguageConstantKeys.L_MULTIEXE_EXECUTION, LanguageConstantValues.L_MULTIEXE_EXECUTION); errorReport.Columns.Add(lReportMessage); IUServiceContext lServiceContext = null; // For every modified row do... foreach (DataRow rowValues in modifiedRows.Rows) { // Create new IUServiceContext. lServiceContext = new IUServiceContext(null, CurrentDisplaySet.ServiceInfo.ClassServiceName, CurrentDisplaySet.ServiceInfo.ServiceName, null); // Add argunment this to the service context. List<Oid> instanceOIDs = new List<Oid>(); Oid instanceOID = Adaptor.ServerConnection.GetOid(modifiedRows, rowValues); instanceOIDs.Add(instanceOID); lServiceContext.InputFields.Add(CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentName, new IUContextArgumentInfo(CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentName, instanceOIDs, true, null)); // Fill the collections for the other inbound arguments. foreach (DisplaySetServiceArgumentInfo argumentInfo in CurrentDisplaySet.ServiceInfo.ArgumentDisplaySetPairs.Values) { object value = rowValues[argumentInfo.DSElementName]; if (value.GetType() == typeof(System.DBNull)) { value = null; } //Add input arguments with context. lServiceContext.InputFields.Add(argumentInfo.Name, new IUContextArgumentInfo(argumentInfo.Name, value, true, null)); } try { // Execute service. Logic.ExecuteService(lServiceContext); } catch (Exception exc) { string lAlternateKeyName = CurrentDisplaySet.ServiceInfo.SelectedInstanceArgumentAlternateKeyName; if (lAlternateKeyName != string.Empty) { instanceOID = Logic.GetAlternateKeyFromOid(instanceOID, lAlternateKeyName); } // Add a new row in the error datatable. DataRow newReportRow = errorReport.NewRow(); newReportRow[lReportMessage] = exc.Message; newReportRow[instanceColumnsName] = UtilFunctions.OidFieldsToString(instanceOID, ' '); errorReport.Rows.Add(newReportRow); } } // If errors have been found, show them if (errorReport.Rows.Count > 0) { // Show error message to the user ScenarioManager.LaunchMultiExecutionReportScenario(errorReport, CurrentDisplaySet.ServiceInfo.ServiceAlias, null, null); } // Remove the Pending changes mark PendingChanges = false; // Refresh the data OnExecuteCommand(new ExecuteCommandRefreshEventArgs(null)); }
/// <summary> /// Executes actions related to Cancel event. /// </summary> private void HandleExecuteCancel(Object sender, TriggerEventArgs e) { ProcessExecuteCancel(); }
/// <summary> /// Handles the event when the first page of the DisplaySet presentation is required. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">TriggerEventArgs.</param> private void HandlePopulationFirstPage(Object sender, TriggerEventArgs e) { OnFirstPage(new FirstPageEventArgs()); }
/// <summary> /// Raises the MoreBlocks event /// </summary> /// <param name="eventArgs"></param> protected virtual void OnMoreBlocks(TriggerEventArgs eventArgs) { EventHandler<TriggerEventArgs> handler = MoreBlocks; if (handler != null) { handler(this, new TriggerEventArgs()); } }
/// <summary> /// Raise Ok Event. /// </summary> /// <param name="eventArgs"></param> protected virtual void OnCancel(TriggerEventArgs eventArgs) { EventHandler<TriggerEventArgs> handler = Cancel; if (handler != null) { handler(this, eventArgs); } }
/// <summary> /// Related actions with the Execute Apply event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessExecuteApply(object sender, TriggerEventArgs e) { if (ApplyTrigger != null && ApplyTrigger.Enabled && ApplyTrigger.Visible) { // Execute the service. if (!ExecuteService(true)) { return; } // Refresh the current instance. RefreshRequiredInstancesEventArgs arguments = new RefreshRequiredInstancesEventArgs(Context.ExchangeInformation.SelectedOids, Context.ExchangeInformation); OnRefreshRequired(arguments); // Disable the Apply and Ok buttons. ApplyTrigger.Enabled = false; OkTrigger.Enabled = false; } }
/// <summary> /// Related actions with the Execute Next event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessExecuteNext(object sender, TriggerEventArgs e) { if (NextTrigger != null && NextTrigger.Enabled && NextTrigger.Visible) { Execute_GoNextPrevious(true); } }
/// <summary> /// This event occurs when the Next is triggered. /// </summary> /// <param name="sender">Object sender.</param> /// <param name="e">TriggerEventArgs.</param> private void HandleExecuteNext(Object sender, TriggerEventArgs e) { ProcessExecuteNext(sender, e); }
/// <summary> /// Handles the Triggered event from the Associated service clear button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HandleAssociatedServiceClearTriggered(object sender, TriggerEventArgs e) { // Clear the associated service. Start again EnableAssociatedService(false); }
/// <summary> /// Raise Triggered Event. /// </summary> /// <param name="eventArgs"></param> protected virtual void OnTriggered(TriggerEventArgs eventArgs) { EventHandler<TriggerEventArgs> handler = Triggered; if (handler != null) { handler(this, eventArgs); } }