/// <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")); } }
/// <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); } }
/// <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.) } } }