示例#1
0
    /// <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);
    }
示例#4
0
    /// <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);
    }
示例#5
0
    /// <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;
    }