internal RuleResult Process() { var result = RuleResult.Default(); var skipped = BeforeExecute(); var executedContext = new RuleExecutedContext(false, RuleResult.Default()); if (skipped) { executedContext = new RuleExecutedContext(false, RuleResult.Default()); try { result = Execute(); } catch (Exception e) { executedContext = new RuleExecutedContext(false, RuleResult.Default()); executedContext.SetException(e); } } AfterExecute(executedContext); return(result); }
internal RuleExecutedContext(bool skipped, RuleResult result) { IsSkipped = skipped; Result = result; }