/// <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;
        }
Ejemplo n.º 3
0
 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;
		}
Ejemplo n.º 6
0
 public bool Evaluate(ConditionContext context)
 {
     string test = Test.GetValue(context);
     return Pattern.IsMatch(test);
 }
Ejemplo n.º 7
0
 /// <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));
 }
Ejemplo n.º 8
0
		/// <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);
		}