コード例 #1
0
        /// <summary>
        /// 小于条件解析
        /// </summary>
        /// <param name="condition">需要解析的条件对象</param>
        /// <returns>返回解析后的条件字符串</returns>
        protected override string LessThanParse(LessThanCondition condition)
        {
            StringBuilder conditionStr = new StringBuilder(" ");
            string        queryColName = condition.SearchColumn.CurrentSearcher.TableName + "." + condition.SearchColumn.ColumnName;

            if (string.IsNullOrEmpty(condition.SearchColumn.ConditionString))
            {
                conditionStr.Append(queryColName);
            }
            else
            {
                conditionStr.Append(condition.SearchColumn.ConditionString.Replace(SQLPlaceholder.ColName, queryColName));
            }

            conditionStr.Append(" < ");

            if (condition.ParamValue is SearchColumn)
            {
                SearchColumn tmpColumn    = (SearchColumn)condition.ParamValue;
                string       valueColName = tmpColumn.CurrentSearcher.TableName + "." + tmpColumn.ColumnName;
                conditionStr.Append(valueColName);
            }
            else
            {
                string paramName = "P" + Guid.NewGuid().ToString().ToLower().Replace("-", "");
                conditionStr.Append("@" + paramName);
                ParamCollection.Add(new MySqlParameter(paramName, condition.ParamValue));
            }

            conditionStr.Append(" ");

            return(conditionStr.ToString());
        }
コード例 #2
0
        public void RubberStamp_Conditions_LessThanCondition_SetMessage_Test()
        {
            var condition = new LessThanCondition <TestClass, string>(p => p.Name, "TEST")
                            .SetMessage("Error message");

            Assert.AreEqual("Error message", condition.Message);
        }
コード例 #3
0
        public void RubberStamp_Conditions_LessThanCondition_String_Equal_Test()
        {
            var condition = new LessThanCondition <TestClass, string>(p => p.Name, "cde");

            Assert.IsFalse(condition.IsValid(new TestClass {
                Name = "cde"
            }));
        }
コード例 #4
0
        public void RubberStamp_Conditions_LessThanCondition_Int_Lower_Invalid_Test()
        {
            var condition = new LessThanCondition <TestClass, int>(p => p.Index, 3);

            Assert.IsTrue(condition.IsValid(new TestClass {
                Index = 2
            }));
        }
コード例 #5
0
        public void RubberStamp_Conditions_LessThanCondition_Int_Greater_Test()
        {
            var condition = new LessThanCondition <TestClass, int>(p => p.Index, 3);

            Assert.IsFalse(condition.IsValid(new TestClass {
                Index = 4
            }));
        }
コード例 #6
0
        public void RubberStamp_Conditions_LessThanCondition_String_Lower_Invalid_Test()
        {
            var condition = new LessThanCondition <TestClass, string>(p => p.Name, "cde");

            Assert.IsTrue(condition.IsValid(new TestClass {
                Name = "cce"
            }));
        }
コード例 #7
0
 public static void NumericConditions <TProperty>(IDictionary <string, IValueTypeCondition <TProperty> > conditions) where TProperty : struct, IComparable, IComparable <TProperty>, IEquatable <TProperty>
 {
     conditions["none"]               = new ValueTypeNoneCondition <TProperty>("None");
     conditions["equal"]              = new ValueTypeEqualCondition <TProperty>("Equal");
     conditions["notequal"]           = new ValueTypeNotEqualCondition <TProperty>("NotEqual");
     conditions["between"]            = new BetweenCondition <TProperty>("Between");
     conditions["lessthan"]           = new LessThanCondition <TProperty>("LessThan");
     conditions["greaterthan"]        = new GreaterThanCondition <TProperty>("GreaterThan");
     conditions["lessthanorequal"]    = new LessThanOrEqualCondition <TProperty>("LessThanOrEqual");
     conditions["greaterthanorequal"] = new GreaterThanOrEqualCondition <TProperty>("GreaterThanOrEqual");
     conditions["isnull"]             = new ValueTypeIsNullCondition <TProperty>("IsNull");
     conditions["isnotnull"]          = new ValueTypeIsNotNullCondition <TProperty>("IsNotNull");
 }
コード例 #8
0
        public void Test___Method_Check___Equals___Generic()
        {
            var testee = new LessThanCondition <int>()
            {
                Value1 = new AnyVariable <int>()
                {
                    Value = 20
                },
                Value2 = new AnyVariable <int>()
                {
                    Value = 20
                }
            };

            Assert.IsFalse(testee.Check());
        }
コード例 #9
0
        public void Test___Method_Check___Less()
        {
            var testee = new LessThanCondition()
            {
                Value1 = new AnyVariable()
                {
                    Value = 10
                },
                Value2 = new AnyVariable()
                {
                    Value = 20
                }
            };

            Assert.IsTrue(testee.Check());
        }
コード例 #10
0
        public void LessThanCondition()
        {
            var lessThanCondition = new LessThanCondition <decimal>();

            var expr1 = lessThanCondition.For <TestSource>(x => x.Price);

            Assert.IsNull(expr1);

            lessThanCondition.Value = new FilterValue <decimal?>
            {
                LeftValue = 1M
            };

            var expr2 = lessThanCondition.For <TestSource>(x => x.Price);

            Assert.IsFalse(expr2.Compile()(new TestSource {
                Price = 2
            }));

            lessThanCondition.Value = new FilterValue <decimal?>
            {
                LeftValue = 5M
            };

            var expr3 = lessThanCondition.For <TestSource>(x => x.Price);

            Assert.IsFalse(expr3.Compile()(new TestSource {
                Price = 5
            }));

            lessThanCondition.Value = new FilterValue <decimal?>
            {
                LeftValue = 5M
            };

            var expr4 = lessThanCondition.For <TestSource>(x => x.Price);

            Assert.IsTrue(expr4.Compile()(new TestSource {
                Price = 4
            }));
        }
コード例 #11
0
 /// <summary>
 /// 小于条件
 /// </summary>
 /// <param name="column">查询字段对象</param>
 /// <param name="paramVal">比较的值</param>
 /// <returns>返回小于条件对象</returns>
 public static LessThanCondition LessThan(SearchColumn column, object paramVal)
 {
     LessThanCondition cond = new LessThanCondition(column, paramVal);
     return cond;
 }
コード例 #12
0
 /// <summary>
 /// 小于条件
 /// </summary>
 /// <param name="paramVal">比较的值</param>
 /// <returns>返回小于条件对象</returns>
 public static LessThanCondition LessThan(object paramVal)
 {
     LessThanCondition cond = new LessThanCondition(paramVal);
     return cond;
 }
コード例 #13
0
        /// <summary>
        /// 小于条件
        /// </summary>
        /// <param name="relation">条件关系</param>
        /// <param name="column">查询字段对象</param>
        /// <param name="paramVal">比较的值</param>
        /// <returns>返回小于条件对象</returns>
        public static LessThanCondition LessThan(ConditionRelation relation, SearchColumn column, object paramVal)
        {
            LessThanCondition cond = new LessThanCondition(relation, column, paramVal);

            return(cond);
        }
コード例 #14
0
        public void RubberStamp_Conditions_LessThanCondition_Int_Message_Test()
        {
            var condition = new LessThanCondition <TestClass, int>(p => p.Index, 3);

            Assert.AreEqual("The Property Index has to be less than 3", condition.Message);
        }
コード例 #15
0
 /// <summary>
 /// 小于条件
 /// </summary>
 /// <param name="relation">条件关系</param>
 /// <param name="column">查询字段对象</param>
 /// <param name="paramVal">比较的值</param>
 /// <returns>返回小于条件对象</returns>
 public static LessThanCondition LessThan(ConditionRelation relation, SearchColumn column, object paramVal)
 {
     LessThanCondition cond = new LessThanCondition(relation, column, paramVal);
     return cond;
 }
コード例 #16
0
        public void RubberStamp_Conditions_LessThanCondition_String_Message_Test()
        {
            var condition = new LessThanCondition <TestClass, string>(p => p.Name, "TEST");

            Assert.AreEqual("The Property Name has to be less than TEST", condition.Message);
        }
コード例 #17
0
ファイル: HQLQueryParser.cs プロジェクト: pmsun-bruce/DBTool
        /// <summary>
        /// 小于条件解析
        /// </summary>
        /// <param name="condition">需要解析的条件对象</param>
        /// <returns>返回解析后的条件字符串</returns>
        protected override string LessThanParse(LessThanCondition condition)
        {
            StringBuilder conditionStr = new StringBuilder(" ");
            string queryColName = condition.SearchColumn.CurrentSearcher.TableName + "." + condition.SearchColumn.ColumnName;

            if (string.IsNullOrEmpty(condition.SearchColumn.ConditionString))
            {
                conditionStr.Append(queryColName);
            }
            else
            {
                conditionStr.Append(condition.SearchColumn.ConditionString.Replace(SQLPlaceholder.ColName, queryColName));
            }

            conditionStr.Append(" < ");

            if (condition.ParamValue is SearchColumn)
            {
                SearchColumn tmpColumn = (SearchColumn)condition.ParamValue;
                string valueColName = tmpColumn.CurrentSearcher.TableName + "." + tmpColumn.ColumnName;
                conditionStr.Append(valueColName);
            }
            else
            {
                string paramName = "P" + Guid.NewGuid().ToString().ToLower().Replace("-", "");
                conditionStr.Append(":" + paramName);
                ParamCollection.Add(new DBParam(paramName, condition.ParamValue));
            }

            conditionStr.Append(" ");

            return conditionStr.ToString();
        }
コード例 #18
0
        /// <summary>
        /// 小于条件
        /// </summary>
        /// <param name="paramVal">比较的值</param>
        /// <returns>返回小于条件对象</returns>
        public static LessThanCondition LessThan(object paramVal)
        {
            LessThanCondition cond = new LessThanCondition(paramVal);

            return(cond);
        }