Exemple #1
0
 public Where Like(string property, object value, LikeMatchMode matchMode = LikeMatchMode.Like)
 {
     this.Filter.AddFilter(new CompareValueFilter()
     {
         Property          = property,
         Value             = value,
         CompareFilterMode = (CompareFilterMode)(int)matchMode
     });
     return(this);
 }
Exemple #2
0
        public static void AddLikeStatement(string fieldName, object fieldValue, LikeMatchMode matchMode, string fieldAlias, ref string whereStatement, IList <object> param)
        {
            if (fieldValue == null)
            {
                return;
            }

            if (fieldValue.GetType() != typeof(string) || !string.IsNullOrWhiteSpace((string)fieldValue))
            {
                if (!string.IsNullOrWhiteSpace(fieldAlias))
                {
                    fieldName = fieldAlias + "." + fieldName;
                }

                if (whereStatement == string.Empty)
                {
                    whereStatement = " where " + fieldName + " like ?";
                }
                else
                {
                    whereStatement += " and " + fieldName + " like ?";
                }

                if (fieldValue.GetType() == typeof(string))
                {
                    if (matchMode == LikeMatchMode.Anywhere)
                    {
                        param.Add("%" + fieldValue.ToString().Trim() + "%");
                    }
                    else if (matchMode == LikeMatchMode.Start)
                    {
                        param.Add(fieldValue.ToString().Trim() + "%");
                    }
                    else if (matchMode == LikeMatchMode.End)
                    {
                        param.Add("%" + fieldValue.ToString().Trim());
                    }
                }
                else
                {
                    if (matchMode == LikeMatchMode.Anywhere)
                    {
                        param.Add("%" + fieldValue + "%");
                    }
                    else if (matchMode == LikeMatchMode.Start)
                    {
                        param.Add(fieldValue + "%");
                    }
                    else if (matchMode == LikeMatchMode.End)
                    {
                        param.Add("%" + fieldValue);
                    }
                }
            }
        }
        public static void AddLikeStatement(string fieldName, object fieldValue, LikeMatchMode matchMode, string fieldAlias, ref string whereStatement, IList<object> param)
        {
            if (fieldValue == null)
            {
                return;
            }

            if (fieldValue.GetType() != typeof(string) || !string.IsNullOrWhiteSpace((string)fieldValue))
            {
                if (!string.IsNullOrWhiteSpace(fieldAlias))
                {
                    fieldName = fieldAlias + "." + fieldName;
                }

                if (whereStatement == string.Empty)
                {
                    whereStatement = " where " + fieldName + " like ?";
                }
                else
                {
                    whereStatement += " and " + fieldName + " like ?";
                }

                if (fieldValue.GetType() == typeof(string))
                {
                    if (matchMode == LikeMatchMode.Anywhere)
                    {
                        param.Add("%" + fieldValue.ToString().Trim() + "%");
                    }
                    else if (matchMode == LikeMatchMode.Start)
                    {
                        param.Add(fieldValue.ToString().Trim() + "%");
                    }
                    else if (matchMode == LikeMatchMode.End)
                    {
                        param.Add("%" + fieldValue.ToString().Trim());
                    }
                }
                else
                {
                    if (matchMode == LikeMatchMode.Anywhere)
                    {
                        param.Add("%" + fieldValue + "%");
                    }
                    else if (matchMode == LikeMatchMode.Start)
                    {
                        param.Add(fieldValue + "%");
                    }
                    else if (matchMode == LikeMatchMode.End)
                    {
                        param.Add("%" + fieldValue);
                    }
                }
            }
        }