/// <summary> /// Creates process trigger. Called when the "Create trigger" button is pressed. /// Expects the CreateProcess method to be run first. /// </summary> private bool CreateProcessTrigger() { // Get the process WorkflowInfo process = WorkflowInfoProvider.GetWorkflowInfo("MyNewProcess", WorkflowTypeEnum.Automation); if (process != null) { // Create new process trigger object and set its properties ObjectWorkflowTriggerInfo newTrigger = new ObjectWorkflowTriggerInfo() { TriggerDisplayName = "My new trigger", TriggerType = WorkflowTriggerTypeEnum.Change, TriggerSiteID = SiteContext.CurrentSiteID, TriggerWorkflowID = process.WorkflowID, TriggerObjectType = "om.contact" }; // Save the process trigger ObjectWorkflowTriggerInfoProvider.SetObjectWorkflowTriggerInfo(newTrigger); return(true); } return(false); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "condition": return(MacroRuleTree.GetRuleText(ValidationHelper.GetString(parameter, String.Empty))); case "type": DataRowView row = parameter as DataRowView; if (row != null) { ObjectWorkflowTriggerInfo trigger = new ObjectWorkflowTriggerInfo(row.Row); if (!string.IsNullOrEmpty(trigger.TriggerTargetObjectType)) { return(GetTriggerDescription(trigger)); } else { return(AutomationHelper.GetTriggerName(trigger.TriggerType, trigger.TriggerObjectType)); } } return(parameter); case "delete": if (!WorkflowStepInfoProvider.CanUserManageAutomationProcesses(CurrentUser, CurrentSiteName)) { CMSGridActionButton btn = (CMSGridActionButton)sender; btn.Enabled = false; } return(parameter); default: return(parameter); } }
/// <summary> /// Returns transformation for trigger type. /// </summary> /// <param name="trigger">Trigger info object</param> private object GetTriggerDescription(ObjectWorkflowTriggerInfo trigger) { var objectTransformation = new ObjectTransformation(trigger.TriggerTargetObjectType, trigger.TriggerTargetObjectID); switch (trigger.TriggerObjectType) { case ScoreInfo.OBJECT_TYPE: objectTransformation.Transformation = string.Format(GetString("ma.trigger.scorereached.listing"), "{% DisplayName %}", trigger.TriggerParameters["ScoreValue"]); return(objectTransformation); case ActivityInfo.OBJECT_TYPE: if (trigger.TriggerTargetObjectID == 0) { return(GetString("ma.trigger.anyActivityPerformed")); } objectTransformation.Transformation = string.Format("{0} '{{% DisplayName %}}'", GetString("ma.trigger.performed")); return(objectTransformation); } return(null); }
/// <summary> /// Returns transformation for trigger type. /// </summary> /// <param name="trigger">Trigger info object</param> private object GetTriggerDescription(ObjectWorkflowTriggerInfo trigger) { ObjectTransformation tr = new ObjectTransformation(trigger.TriggerTargetObjectType, trigger.TriggerTargetObjectID); string objectType = GetString(TypeHelper.GetObjectTypeResourceKey(trigger.TriggerObjectType)); switch (trigger.TriggerObjectType) { case PredefinedObjectType.SCORE: tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1} {2} '{3}'", objectType, GetString("ma.trigger.exceeded").ToLowerCSafe(), GetString("General.Value").ToLowerCSafe(), trigger.TriggerParameters["ScoreValue"]); return(tr); case PredefinedObjectType.ACTIVITY: if (trigger.TriggerTargetObjectID == 0) { return(GetString("ma.trigger.anyActivityPerformed")); } tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1}", objectType, GetString("ma.trigger.performed").ToLowerCSafe()); return(tr); } return(null); }
/// <summary> /// Returns transformation for trigger type. /// </summary> /// <param name="trigger">Trigger info object</param> private object GetTriggerDescription(ObjectWorkflowTriggerInfo trigger) { ObjectTransformation tr = new ObjectTransformation(trigger.TriggerTargetObjectType, trigger.TriggerTargetObjectID); string objectType = ScriptHelper.GetLocalizedString(TypeHelper.GetObjectTypeResourceKey(trigger.TriggerObjectType), false); switch (trigger.TriggerObjectType) { case ScoreInfo.OBJECT_TYPE: tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1} {2} '{3}'", objectType, ScriptHelper.GetLocalizedString("ma.trigger.exceeded", false).ToLowerCSafe(), ScriptHelper.GetLocalizedString("General.Value", false).ToLowerCSafe(), trigger.TriggerParameters["ScoreValue"]); return(tr); case ActivityInfo.OBJECT_TYPE: if (trigger.TriggerTargetObjectID == 0) { return(GetString("ma.trigger.anyActivityPerformed")); } tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1}", objectType, ScriptHelper.GetLocalizedString("ma.trigger.performed", false).ToLowerCSafe()); return(tr); } return(null); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "condition": return MacroRuleTree.GetRuleText(ValidationHelper.GetString(parameter, String.Empty)); case "type": DataRowView row = parameter as DataRowView; if (row != null) { ObjectWorkflowTriggerInfo trigger = new ObjectWorkflowTriggerInfo(row.Row); if (!string.IsNullOrEmpty(trigger.TriggerTargetObjectType)) { return GetTriggerDescription(trigger); } else { return AutomationHelper.GetTriggerName(trigger.TriggerType, trigger.TriggerObjectType); } } return parameter; case "delete": if (!WorkflowStepInfoProvider.CanUserManageAutomationProcesses(CurrentUser, CurrentSiteName)) { CMSGridActionButton btn = (CMSGridActionButton)sender; btn.Enabled = false; } return parameter; default: return parameter; } }
/// <summary> /// Returns transformation for trigger type. /// </summary> /// <param name="trigger">Trigger info object</param> private object GetTriggerDescription(ObjectWorkflowTriggerInfo trigger) { var objectTransformation = new ObjectTransformation(trigger.TriggerTargetObjectType, trigger.TriggerTargetObjectID); switch (trigger.TriggerObjectType) { case ScoreInfo.OBJECT_TYPE: objectTransformation.Transformation = string.Format(GetString("ma.trigger.scorereached.listing"), "{% DisplayName %}", trigger.TriggerParameters["ScoreValue"]); return objectTransformation; case ActivityInfo.OBJECT_TYPE: if (trigger.TriggerTargetObjectID == 0) { return GetString("ma.trigger.anyActivityPerformed"); } objectTransformation.Transformation = string.Format("{0} '{{% DisplayName %}}'", GetString("ma.trigger.performed")); return objectTransformation; } return null; }
/// <summary> /// Creates process trigger. Called when the "Create trigger" button is pressed. /// Expects the CreateProcess method to be run first. /// </summary> private bool CreateProcessTrigger() { // Get the process WorkflowInfo process = WorkflowInfoProvider.GetWorkflowInfo("MyNewProcess", WorkflowTypeEnum.Automation); if (process != null) { // Create new process trigger object and set its properties ObjectWorkflowTriggerInfo newTrigger = new ObjectWorkflowTriggerInfo() { TriggerDisplayName = "My new trigger", TriggerType = WorkflowTriggerTypeEnum.Change, TriggerSiteID = SiteContext.CurrentSiteID, TriggerWorkflowID = process.WorkflowID, TriggerObjectType = "om.contact" }; // Save the process trigger ObjectWorkflowTriggerInfoProvider.SetObjectWorkflowTriggerInfo(newTrigger); return true; } return false; }
/// <summary> /// Returns transformation for trigger type. /// </summary> /// <param name="trigger">Trigger info object</param> private object GetTriggerDescription(ObjectWorkflowTriggerInfo trigger) { ObjectTransformation tr = new ObjectTransformation(trigger.TriggerTargetObjectType, trigger.TriggerTargetObjectID); string objectType = ScriptHelper.GetLocalizedString(TypeHelper.GetObjectTypeResourceKey(trigger.TriggerObjectType), false); switch (trigger.TriggerObjectType) { case ScoreInfo.OBJECT_TYPE: tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1} {2} '{3}'", objectType, ScriptHelper.GetLocalizedString("ma.trigger.exceeded", false).ToLowerCSafe(), ScriptHelper.GetLocalizedString("General.Value", false).ToLowerCSafe(), trigger.TriggerParameters["ScoreValue"]); return tr; case ActivityInfo.OBJECT_TYPE: if (trigger.TriggerTargetObjectID == 0) { return GetString("ma.trigger.anyActivityPerformed"); } tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1}", objectType, ScriptHelper.GetLocalizedString("ma.trigger.performed", false).ToLowerCSafe()); return tr; } return null; }
/// <summary> /// Returns transformation for trigger type. /// </summary> /// <param name="trigger">Trigger info object</param> private object GetTriggerDescription(ObjectWorkflowTriggerInfo trigger) { ObjectTransformation tr = new ObjectTransformation(trigger.TriggerTargetObjectType, trigger.TriggerTargetObjectID); string objectType = GetString(TypeHelper.GetObjectTypeResourceKey(trigger.TriggerObjectType)); switch (trigger.TriggerObjectType) { case PredefinedObjectType.SCORE: tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1} {2} '{3}'", objectType, GetString("ma.trigger.exceeded").ToLowerCSafe(), GetString("General.Value").ToLowerCSafe(), trigger.TriggerParameters["ScoreValue"]); return tr; case PredefinedObjectType.ACTIVITY: if(trigger.TriggerTargetObjectID == 0) { return GetString("ma.trigger.anyActivityPerformed"); } tr.Transformation = string.Format("{0} '{{% DisplayName %}}' {1}", objectType, GetString("ma.trigger.performed").ToLowerCSafe()); return tr; } return null; }