public void Evaluate(EvaluationContext ctx, string SchemeID) { if (ctx.GetResult(this._policyId).HasDecision()) { return; } try { if (BooleanDataType.True.Equals(this._target.Evaluate(ctx, this._policyId))) { CombiningAlgorithmFactory.Evaluate( this._ruleCombiningAlgId, ctx, this._policyLanguageModels.ToArray(), this._policyId); this.EvaluateObligations(ctx, SchemeID); return; } ctx.GetResult(this._policyId).Decision = Decision.NotApplicable; return; } catch (Indeterminate) { ctx.GetResult(this._policyId).Decision = Decision.Indeterminate; } }
public void Evaluate(EvaluationContext ctx, string SchemeID) { if (ctx.GetResult(this._policySetId).HasDecision()) { return; } try { if (BooleanDataType.True.Equals(this._target.Evaluate(ctx, this._policySetId))) { CombiningAlgorithmFactory.Evaluate( this._policyCombiningAlgId, ctx, this._policies.ToArray(), this._policySetId); return; } } catch (Indeterminate) { ctx.GetResult(this._policySetId).Decision = Decision.Indeterminate; } }