protected void ActivityParametersGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs) { String parameterName; Telerik.Web.UI.RadComboBox parameterValueSelection; Telerik.Web.UI.RadTextBox parameterFixedValue; Client.Core.Individual.CareInterventionActivity careInterventionActivity = EditCareInterventionActivity; if (MercuryApplication == null) { return; } switch (eventArgs.CommandName) { case Telerik.Web.UI.RadGrid.EditCommandName: #region Edit Command Telerik.Web.UI.GridEditCommandColumn editColumn = (Telerik.Web.UI.GridEditCommandColumn)ActivityParametersGrid.MasterTableView.GetColumn("EditCommandColumn"); if (!editColumn.Visible) { editColumn.Visible = true; } Telerik.Web.UI.GridEditableItem editItem = (Telerik.Web.UI.GridEditableItem)eventArgs.Item; #endregion break; case Telerik.Web.UI.RadGrid.UpdateCommandName: #region Update Command parameterValueSelection = (Telerik.Web.UI.RadComboBox)eventArgs.Item.FindControl("ActivityParameterValueSelection"); parameterFixedValue = (Telerik.Web.UI.RadTextBox)eventArgs.Item.FindControl("ActivityParameterFixedValue"); if ((parameterValueSelection.SelectedItem != null) || (!String.IsNullOrEmpty(parameterFixedValue.Text))) { parameterName = (String)((Telerik.Web.UI.GridEditableItem)eventArgs.Item).OwnerTableView.DataKeyValues[eventArgs.Item.ItemIndex]["ParameterName"]; if ((careInterventionActivity.Action.ActionParameters[parameterName].AllowFixedValue) && (!String.IsNullOrEmpty(parameterFixedValue.Text))) { careInterventionActivity.Action.ActionParameters[parameterName].ValueType = Mercury.Server.Application.ActionParameterValueType.FixedValue; careInterventionActivity.Action.ActionParameters[parameterName].Value = parameterFixedValue.Text; careInterventionActivity.Action.ActionParameters[parameterName].ValueDescription = parameterFixedValue.Text; } else { careInterventionActivity.Action.ActionParameters[parameterName].ValueType = Mercury.Server.Application.ActionParameterValueType.DataMapping; careInterventionActivity.Action.ActionParameters[parameterName].Value = parameterValueSelection.SelectedItem.Value; careInterventionActivity.Action.ActionParameters[parameterName].ValueDescription = parameterValueSelection.SelectedItem.Text; } if ((careInterventionActivity.Action.Name == "Workflow") && (parameterName == "Workflow")) { careInterventionActivity.Action.RebindActionParameters(MercuryApplication); } } #endregion break; } EditCareInterventionActivity = careInterventionActivity; InitializeActivityParametersGrid(); return; }
protected void ActivityThresholdsGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs) { Client.Core.Individual.CareInterventionActivity careInterventionActivity = EditCareInterventionActivity; Mercury.Client.Core.Activity.ActivityThreshold threshold; String parameterName; Telerik.Web.UI.RadNumericTextBox thresholdRelativeDateValue; Telerik.Web.UI.RadComboBox thresholdRelativeDateQualifier; Telerik.Web.UI.RadComboBox thresholdStatusSelection; Telerik.Web.UI.RadComboBox thresholdActionSelection; Telerik.Web.UI.RadComboBox parameterValueSelection; Telerik.Web.UI.RadTextBox parameterFixedValue; Int64 actionId = 0; if (MercuryApplication == null) { return; } // SaveResponseLabel.Text = String.Empty; switch (eventArgs.CommandName) { case Telerik.Web.UI.RadGrid.EditCommandName: #region Edit Command switch (eventArgs.Item.OwnerTableView.Name) { case "Thresholds": Telerik.Web.UI.GridEditCommandColumn editColumn = (Telerik.Web.UI.GridEditCommandColumn)ActivityThresholdsGrid.MasterTableView.GetColumn("EditCommandColumn"); if (!editColumn.Visible) { editColumn.Visible = true; } Telerik.Web.UI.GridEditableItem editItem = (Telerik.Web.UI.GridEditableItem)eventArgs.Item; break; case "ThresholdParameters": editColumn = (Telerik.Web.UI.GridEditCommandColumn)eventArgs.Item.OwnerTableView.GetColumn("EditCommandColumn"); if (!editColumn.Visible) { editColumn.Visible = true; } break; } #endregion break; case Telerik.Web.UI.RadGrid.InitInsertCommandName: break; case Telerik.Web.UI.RadGrid.PerformInsertCommandName: #region Perform Insert Command Telerik.Web.UI.GridEditableItem insertedItem = (Telerik.Web.UI.GridEditableItem)eventArgs.Item; thresholdRelativeDateValue = (Telerik.Web.UI.RadNumericTextBox)insertedItem.FindControl("ActivityThresholdRelativeDateValue"); thresholdRelativeDateQualifier = (Telerik.Web.UI.RadComboBox)insertedItem.FindControl("ActivityThresholdRelativeDateQualifier"); thresholdStatusSelection = (Telerik.Web.UI.RadComboBox)insertedItem.FindControl("ActivityThresholdStatusSelection"); thresholdActionSelection = (Telerik.Web.UI.RadComboBox)insertedItem.FindControl("ActivityThresholdActionSelection"); try { if (thresholdRelativeDateValue.Value == null) { throw new ApplicationException("No Threshold Date Specified."); } threshold = careInterventionActivity.GetNewThreshold(); threshold.RelativeDateValue = Int32.Parse(thresholdRelativeDateValue.Value.ToString()); threshold.RelativeDateQualifier = (Mercury.Server.Application.DateQualifier)Int32.Parse(thresholdRelativeDateQualifier.SelectedItem.Value); threshold.Status = (Mercury.Server.Application.ActivityStatus)Int32.Parse(thresholdStatusSelection.SelectedValue); // RESERVED IF ACTIONS ARE ADDED TO CARE LEVEL ACTIVITY THRESHOLDS //actionId = Int64.Parse (thresholdActionSelection.SelectedValue); //threshold.Action = MercuryApplication.ActionById (actionId); //if (threshold.Action == null) { threshold.Action = new Mercury.Client.Core.Action.Action (MercuryApplication); } if (!EditCareInterventionActivity.HasThreshold(threshold)) { careInterventionActivity.Thresholds.Add(threshold); EditCareInterventionActivity = careInterventionActivity; } else { throw new ApplicationException("Duplicate Threshold"); } } catch (Exception MercuryApplicationException) { // SaveResponseLabel.Text = "Error: " + MercuryApplicationException.Message; } #endregion break; case Telerik.Web.UI.RadGrid.UpdateCommandName: #region Update Command Telerik.Web.UI.GridEditableItem updatedItem = (Telerik.Web.UI.GridEditableItem)eventArgs.Item; switch (eventArgs.Item.OwnerTableView.Name) { case "Thresholds": thresholdRelativeDateValue = (Telerik.Web.UI.RadNumericTextBox)updatedItem.FindControl("ActivityThresholdRelativeDateValue"); thresholdRelativeDateQualifier = (Telerik.Web.UI.RadComboBox)updatedItem.FindControl("ActivityThresholdRelativeDateQualifier"); thresholdStatusSelection = (Telerik.Web.UI.RadComboBox)updatedItem.FindControl("ActivityThresholdStatusSelection"); thresholdActionSelection = (Telerik.Web.UI.RadComboBox)updatedItem.FindControl("ActivityThresholdActionSelection"); threshold = careInterventionActivity.SortedThresholds.Values[updatedItem.ItemIndex]; threshold.RelativeDateValue = Int32.Parse(thresholdRelativeDateValue.Value.ToString()); threshold.RelativeDateQualifier = (Mercury.Server.Application.DateQualifier)Int32.Parse(thresholdRelativeDateQualifier.SelectedItem.Value); threshold.Status = (Mercury.Server.Application.ActivityStatus)Int32.Parse(thresholdStatusSelection.SelectedValue); // RESERVED IF ACTIONS ARE ADDED TO CARE LEVEL ACTIVITY THRESHOLDS //actionId = Int64.Parse (thresholdActionSelection.SelectedValue); //if (threshold.Action.Id != actionId) { // threshold.Action = MercuryApplication.ActionById (actionId); // if (threshold.Action == null) { threshold.Action = new Mercury.Client.Core.Action.Action (MercuryApplication); } //} break; case "ThresholdParameters": // RESERVED IF ACTIONS ARE ADDED TO CARE LEVEL ACTIVITY THRESHOLDS Int64 thresholdKey = Int64.Parse((String)((Telerik.Web.UI.GridEditableItem)eventArgs.Item).OwnerTableView.DataKeyValues[eventArgs.Item.ItemIndex]["ThresholdKey"]); threshold = careInterventionActivity.SortedThresholds[thresholdKey]; parameterName = (String)((Telerik.Web.UI.GridEditableItem)eventArgs.Item).OwnerTableView.DataKeyValues[eventArgs.Item.ItemIndex]["ParameterName"]; if (threshold.Action.ActionParameters.ContainsKey(parameterName)) { parameterValueSelection = (Telerik.Web.UI.RadComboBox)eventArgs.Item.FindControl("ActivityThresholdParameterValue"); parameterFixedValue = (Telerik.Web.UI.RadTextBox)eventArgs.Item.FindControl("ActivityThresholdParameterFixedValue"); if ((parameterValueSelection.SelectedItem != null) || (!String.IsNullOrEmpty(parameterFixedValue.Text))) { if ((threshold.Action.ActionParameters[parameterName].AllowFixedValue) && (!String.IsNullOrEmpty(parameterFixedValue.Text))) { threshold.Action.ActionParameters[parameterName].ValueType = Mercury.Server.Application.ActionParameterValueType.FixedValue; threshold.Action.ActionParameters[parameterName].Value = parameterFixedValue.Text; threshold.Action.ActionParameters[parameterName].ValueDescription = parameterFixedValue.Text; } else { threshold.Action.ActionParameters[parameterName].ValueType = Mercury.Server.Application.ActionParameterValueType.DataMapping; threshold.Action.ActionParameters[parameterName].Value = parameterValueSelection.SelectedItem.Value; threshold.Action.ActionParameters[parameterName].ValueDescription = parameterValueSelection.SelectedItem.Text; } if ((threshold.Action.Name == "Workflow") && (parameterName == "Workflow")) { threshold.Action.RebindActionParameters(MercuryApplication); } } } break; } #endregion break; case Telerik.Web.UI.RadGrid.ExpandCollapseCommandName: #region Expand/Collapse Command System.Data.DataTable parameterTable = (System.Data.DataTable)Session[SessionCachePrefix + "ActivityThresholdsGrid.ParameterTable"]; parameterTable.Rows.Clear(); Int32 currentThresholdIndex = 0; foreach (Mercury.Client.Core.Activity.ActivityThreshold currentThreshold in careInterventionActivity.SortedThresholds.Values) { if (currentThreshold.Action != null) { foreach (String currentParameterName in currentThreshold.Action.ActionParameters.Keys) { parameterTable.Rows.Add(currentThresholdIndex, currentParameterName, currentThreshold.Action.ActionParameters[currentParameterName].ValueDescription); } } currentThresholdIndex = currentThresholdIndex + 1; } ActivityThresholdsGrid.MasterTableView.DetailTables[0].DataSource = parameterTable; ActivityThresholdsGrid.MasterTableView.DetailTables[0].DataBind(); #endregion break; case Telerik.Web.UI.RadGrid.DeleteCommandName: Int32 deleteIndex = eventArgs.Item.DataSetIndex; if ((deleteIndex > -1) && (deleteIndex < careInterventionActivity.Thresholds.Count)) { threshold = careInterventionActivity.SortedThresholds.Values[deleteIndex]; careInterventionActivity.Thresholds.Remove(threshold); } break; default: System.Diagnostics.Debug.WriteLine(eventArgs.CommandName); break; } EditCareInterventionActivity = careInterventionActivity; return; }
protected void ConditionEventsGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs) { String eventName; Telerik.Web.UI.RadComboBox conditionEventActionSelection; Int64 actionId; String parameterName; Telerik.Web.UI.RadComboBox parameterValueSelection; Telerik.Web.UI.RadTextBox parameterFixedValue; if (MercuryApplication == null) { return; } switch (eventArgs.CommandName) { case Telerik.Web.UI.RadGrid.EditCommandName: #region Edit Command switch (eventArgs.Item.OwnerTableView.Name) { case "ConditionEvent": Telerik.Web.UI.GridEditCommandColumn editColumn = (Telerik.Web.UI.GridEditCommandColumn)ConditionEventsGrid.MasterTableView.GetColumn("EditCommandColumn"); if (!editColumn.Visible) { editColumn.Visible = true; } Telerik.Web.UI.GridEditableItem editItem = (Telerik.Web.UI.GridEditableItem)eventArgs.Item; break; case "ConditionEventParameters": editColumn = (Telerik.Web.UI.GridEditCommandColumn)eventArgs.Item.OwnerTableView.GetColumn("EditCommandColumn"); if (!editColumn.Visible) { editColumn.Visible = true; } break; } #endregion break; case Telerik.Web.UI.RadGrid.UpdateCommandName: #region Update Command Telerik.Web.UI.GridEditableItem updatedItem = (Telerik.Web.UI.GridEditableItem)eventArgs.Item; switch (eventArgs.Item.OwnerTableView.Name) { case "ConditionEvent": eventName = (String)updatedItem.OwnerTableView.DataKeyValues[eventArgs.Item.ItemIndex]["EventName"]; conditionEventActionSelection = (Telerik.Web.UI.RadComboBox)updatedItem.FindControl("ConditionEventActionSelection"); actionId = Int64.Parse(conditionEventActionSelection.SelectedValue); condition.Events[eventName] = MercuryApplication.ActionById(actionId); if (condition.Events[eventName] == null) { condition.Events[eventName] = new Mercury.Client.Core.Action.Action(MercuryApplication); } break; case "ConditionEventParameters": parameterValueSelection = (Telerik.Web.UI.RadComboBox)eventArgs.Item.FindControl("ConditionEventParameterValueSelection"); parameterFixedValue = (Telerik.Web.UI.RadTextBox)eventArgs.Item.FindControl("ConditionEventParameterFixedValue"); if ((parameterValueSelection.SelectedItem != null) || (!String.IsNullOrEmpty(parameterFixedValue.Text))) { eventName = (String)updatedItem.OwnerTableView.DataKeyValues[eventArgs.Item.ItemIndex]["EventName"]; parameterName = (String)((Telerik.Web.UI.GridEditableItem)eventArgs.Item).OwnerTableView.DataKeyValues[eventArgs.Item.ItemIndex]["ParameterName"]; if ((condition.Events[eventName].ActionParameters[parameterName].AllowFixedValue) && (!String.IsNullOrEmpty(parameterFixedValue.Text))) { condition.Events[eventName].ActionParameters[parameterName].ValueType = Mercury.Server.Application.ActionParameterValueType.FixedValue; condition.Events[eventName].ActionParameters[parameterName].Value = parameterFixedValue.Text; condition.Events[eventName].ActionParameters[parameterName].ValueDescription = parameterFixedValue.Text; } else { condition.Events[eventName].ActionParameters[parameterName].ValueType = Mercury.Server.Application.ActionParameterValueType.DataMapping; condition.Events[eventName].ActionParameters[parameterName].Value = parameterValueSelection.SelectedItem.Value; condition.Events[eventName].ActionParameters[parameterName].ValueDescription = parameterValueSelection.SelectedItem.Text; } if ((condition.Events[eventName].Name == "Workflow") && (parameterName == "Workflow")) { condition.Events[eventName].RebindActionParameters(MercuryApplication); } } break; } #endregion break; } return; }