/// <summary> /// Initializes a new instance of the <see cref="ConditionContext"/> class. /// </summary> /// <param name="copy">The copy.</param> internal ConditionContext(ConditionContext copy) : base(copy) { if (copy == null) throw new ArgumentNullException("copy"); ConditionIndex = copy.ConditionIndex; LogCategory = copy.LogCategory; CurrentCondition = copy.CurrentCondition; }
/// <summary> /// Initializes a new instance of the <see cref="ConditionContext"/> class. /// </summary> /// <param name="copy">The copy.</param> internal ConditionContext(ConditionContext copy) : base(copy) { if (copy == null) { throw new ArgumentNullException("copy"); } ConditionIndex = copy.ConditionIndex; LogCategory = copy.LogCategory; CurrentCondition = copy.CurrentCondition; }
public string GetValue(ConditionContext context) { var cookie = context.HttpContext.Request.Cookies[".ASPXFORMSAUTH"]; if(cookie == null) return ""; var user = FormsAuthentication.Decrypt(cookie.Value); if(Test.Contains("%{AUTH_USER}") && user != null && !user.Expired) { return user.Name; } return ""; }
public string GetValue(string input, RuleContext context) { int startIndex = 1; for (int i = 0; i < context.Conditions.Count; i++) { var cond = context.Conditions[i]; int groupCount = cond.Pattern.GetGroupCount(input); ConditionContext condContext = new ConditionContext(i, context, cond); if ((startIndex + groupCount) >= Index) { int varIndex = Math.Abs(startIndex - _index); return(cond.Pattern.GetValue(cond.Test.GetValue(condContext), varIndex, condContext)); } startIndex += groupCount; } return(null); }
public string GetValue(string input, RuleContext context) { int startIndex = 1; for (int i = 0; i < context.Conditions.Count; i++) { var cond = context.Conditions[i]; int groupCount = cond.Pattern.GetGroupCount(input); ConditionContext condContext = new ConditionContext(i, context, cond); if ((startIndex + groupCount) >= Index) { int varIndex = Math.Abs(startIndex - _index); return cond.Pattern.GetValue(cond.Test.GetValue(condContext), varIndex, condContext); } startIndex += groupCount; } return null; }
public bool Evaluate(ConditionContext context) { string test = Test.GetValue(context); return Pattern.IsMatch(test); }
/// <summary> /// Gets the value of a condition. /// </summary> /// <param name="input"></param> /// <param name="index"></param> /// <param name="context"></param> /// <returns></returns> public string GetValue(string input, int index, ConditionContext context) { return(GetValue(input, index)); }
/// <summary> /// Gets the value of a condition. /// </summary> /// <param name="input"></param> /// <param name="index"></param> /// <param name="context"></param> /// <returns></returns> public string GetValue(string input, int index, ConditionContext context) { return GetValue(input, index); }