Exemple #1
0
    /// <summary>
    /// Check whether all macros in macro rule are optimized.
    /// Shows warning when not.
    /// </summary>
    private void CheckMacros()
    {
        var macroCondition = RuleHelper.GetMacroConditionFromRule(Rule);

        if (string.IsNullOrEmpty(macroCondition))
        {
            return;
        }

        var macroTree = CachedMacroRuleTrees.GetParsedTree(macroCondition);

        if ((macroTree == null) || !MacroRuleTreeAnalyzer.CanTreeBeTranslated(macroTree))
        {
            ShowWarning(ResHelper.GetString("om.macros.macro.slow"));
        }
    }
Exemple #2
0
    /// <summary>
    /// Check whether all macros in contact group dynamic condition are optimized.
    /// Show warning when aren't.
    /// </summary>
    private void CheckMacros(object sender, EventArgs e)
    {
        if (ContactGroup == null || RequestHelper.IsAsyncPostback())
        {
            return;
        }

        if (!string.IsNullOrEmpty(ContactGroup.ContactGroupDynamicCondition))
        {
            var macroTree = CachedMacroRuleTrees.GetParsedTree(ContactGroup.ContactGroupDynamicCondition);
            if ((macroTree == null) || !MacroRuleTreeAnalyzer.CanTreeBeTranslated(macroTree))
            {
                Control.ShowWarning(ResHelper.GetString("om.macros.macro.slow"));
            }
        }
    }
    /// <summary>
    /// Check whether all macros in macro rule are optimized.
    /// Shows warning when not.
    /// </summary>
    private void CheckMacros()
    {
        var macroCondition = RuleHelper.GetMacroConditionFromRule(Rule);

        if (string.IsNullOrEmpty(macroCondition))
        {
            return;
        }

        var macroTree = CachedMacroRuleTrees.GetParsedTree(macroCondition);

        if ((macroTree == null) || !MacroRuleTreeAnalyzer.CanTreeBeTranslated(macroTree))
        {
            var text = string.Format(ResHelper.GetString("om.macros.macro.slow"), DocumentationHelper.GetDocumentationTopicUrl("om_macro_performance"));
            ShowWarning(text);
        }
    }
Exemple #4
0
    /// <summary>
    /// Check whether time-based trigger's macro condition is optimized.
    /// Show warning if not.
    /// </summary>
    private void CheckMacroCondition()
    {
        if (Trigger.TriggerID == 0 || Trigger.TriggerType != WorkflowTriggerTypeEnum.TimeBased)
        {
            return;
        }

        if (!String.IsNullOrEmpty(Trigger.TriggerMacroCondition))
        {
            try
            {
                var macroTree = CachedMacroRuleTrees.GetParsedTree(Trigger.TriggerMacroCondition);
                if ((macroTree == null) || !MacroRuleTreeAnalyzer.CanTreeBeTranslated(macroTree))
                {
                    var text = String.Format(ResHelper.GetString("om.macros.macro.slow"), DocumentationHelper.GetDocumentationTopicUrl("om_macro_performance"));
                    ShowWarning(text);
                }
            }
            catch
            {
                // in case that macro rule can't be parsed (deleted or changed, etc.)
            }
        }
    }