public bool IsEligible(RuleContext ruleContext) {
			if (ruleContext == null)
				return false;

		    var meetsThreshold = ruleContext.NetDue <= Threshold;
			return meetsThreshold;
		}
		public EligibilityPolicyOverride GetPolicyOverride(RuleContext ruleContext, EligibilityTypeEnum eligibilityType) {
			var eligibilityOverride = _eligibilityRepository.GetPolicyOverride(ruleContext.Id, eligibilityType);
			return Mapper.Map<Eligibility_Override, EligibilityPolicyOverride>(eligibilityOverride);
		}
		public bool IsEligible(RuleContext ruleContext) {
		    return ruleContext?.TotalPaid >= Threshold;
		}
		public bool IsEligible(RuleContext ruleContext) {
		    return ruleContext != null && ruleContext.TotalPaid >= Threshold * ruleContext.TotalDue;
		}
	    public bool IsEligible(RuleContext ruleContext) {
			if (ruleContext == null)
				throw new ArgumentNullException(nameof(ruleContext));

			return RuleContext.HasValidDocumentProof(DocumentProofType);
		}