/// <summary>
        /// Compare two values using provided operator and data type.
        /// </summary>
        /// <param name="leftText"></param>
        /// <param name="rightText"></param>
        /// <param name="op"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static bool CompareValues(string leftText, string rightText, ValidationCompareOperator op, ValidationDataType type)
        {
            System.Web.UI.WebControls.ValidationCompareOperator vco =
                (System.Web.UI.WebControls.ValidationCompareOperator)Enum.Parse(
                    typeof(System.Web.UI.WebControls.ValidationCompareOperator),
                    op.ToString());

            System.Web.UI.WebControls.ValidationDataType vdt =
                (System.Web.UI.WebControls.ValidationDataType)Enum.Parse(
                    typeof(System.Web.UI.WebControls.ValidationDataType),
                    type.ToString());

            return(ValidationUtil.Compare(leftText, rightText, vco, vdt));
        }
示例#2
0
        /// <summary>
        /// Compare two values using provided operator and data type.
        /// </summary>
        /// <param name="leftText"></param>
        /// <param name="rightText"></param>
        /// <param name="op"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static bool CompareValues(string leftText, string rightText, ValidationCompareOperator op, ValidationDataType type)
        {
            System.Web.UI.WebControls.ValidationCompareOperator vco =
                (System.Web.UI.WebControls.ValidationCompareOperator)Enum.Parse(
                    typeof(System.Web.UI.WebControls.ValidationCompareOperator),
                    op.ToString());

            System.Web.UI.WebControls.ValidationDataType vdt =
                (System.Web.UI.WebControls.ValidationDataType)Enum.Parse(
                    typeof(System.Web.UI.WebControls.ValidationDataType),
                    type.ToString());

            //if(rightText=="" && op==ValidationCompareOperator.Equal)
            //{
            //    return String.Equals("", leftText);
            //}
            return(MyValidator.CompareValues(leftText, rightText, vco, vdt));
        }
        /// <summary>
        ///		Compare two strings using the type and operator
        /// </summary>
        /// <param name="leftText"></param>
        /// <param name="cultureInvariantLeftText"></param>
        /// <param name="rightText"></param>
        /// <param name="cultureInvariantRightText"></param>
        /// <param name="op"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        protected static bool Compare(string leftText, bool cultureInvariantLeftText, string rightText, bool cultureInvariantRightText, WebControls.ValidationCompareOperator op, WebControls.ValidationDataType type)
        {
            object leftObject;

            if (!Convert(leftText, type, cultureInvariantLeftText, out leftObject))
            {
                return(false);
            }

            if (op == WebControls.ValidationCompareOperator.DataTypeCheck)
            {
                return(true);
            }

            object rightObject;

            if (!Convert(rightText, type, cultureInvariantRightText, out rightObject))
            {
                return(true);
            }

            int compareResult;

            switch (type)
            {
            case WebControls.ValidationDataType.String:
                compareResult = String.Compare((string)leftObject, (string)rightObject, false, CultureInfo.CurrentCulture);
                break;

            case WebControls.ValidationDataType.Integer:
                compareResult = ((int)leftObject).CompareTo(rightObject);
                break;

            case WebControls.ValidationDataType.Double:
                compareResult = ((double)leftObject).CompareTo(rightObject);
                break;

            case WebControls.ValidationDataType.Date:
                compareResult = ((DateTime)leftObject).CompareTo(rightObject);
                break;

            case WebControls.ValidationDataType.Currency:
                compareResult = ((Decimal)leftObject).CompareTo(rightObject);
                break;

            default:
                Debug.Fail("Unknown Type");
                return(true);
            }
            switch (op)
            {
            case WebControls.ValidationCompareOperator.Equal:
                return(compareResult == 0);

            case WebControls.ValidationCompareOperator.NotEqual:
                return(compareResult != 0);

            case WebControls.ValidationCompareOperator.GreaterThan:
                return(compareResult > 0);

            case WebControls.ValidationCompareOperator.GreaterThanEqual:
                return(compareResult >= 0);

            case WebControls.ValidationCompareOperator.LessThan:
                return(compareResult < 0);

            case WebControls.ValidationCompareOperator.LessThanEqual:
                return(compareResult <= 0);

            default:
                Debug.Fail("Unknown Operator");
                return(true);
            }
        }
 /// <summary>
 ///		Compare two strings using the type and operator
 /// </summary>
 /// <param name="leftText"></param>
 /// <param name="rightText"></param>
 /// <param name="op"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 protected static bool Compare(string leftText, string rightText, WebControls.ValidationCompareOperator op, WebControls.ValidationDataType type)
 {
     return(Compare(leftText, false, rightText, false, op, type));
 }
示例#5
0
 public static bool CompareValues(string leftText, string rightText, System.Web.UI.WebControls.ValidationCompareOperator vco, System.Web.UI.WebControls.ValidationDataType vdt)
 {
     return(BaseCompareValidator.Compare(leftText, rightText, vco, vdt));
 }