Ejemplo n.º 1
0
        public String getQueryCondition(Object value, Boolean saveIt = true, Dictionary <String, Object[]> fieldNameAndValuePair = null)
        {
            String queryCondition = "";
            int    added          = 0;
            String temp           = "";

            foreach (String fieldName in _fieldType.Keys)
            {
                if (_fieldType[fieldName] == HandlingTypeForFilter.Number)
                {
                    if (fieldNameAndValuePair != null && fieldNameAndValuePair.Keys.Contains(fieldName))
                    {
                        temp = getQueryCondition(false, HandlingTypeForFilter.Number, fieldName, fieldNameAndValuePair[fieldName]);
                        if (temp == null || temp.Length == 0)
                        {
                            continue;
                        }
                    }
                    else if (value == null || value.ToString().Length == 0)
                    {
                        continue;
                    }
                    if (added != 0)
                    {
                        queryCondition += " " + _conditionAdder.ToString() + " ";
                    }
                    if (fieldNameAndValuePair != null && fieldNameAndValuePair.Keys.Contains(fieldName))
                    {
                        queryCondition += temp;
                    }
                    else
                    {
                        queryCondition += fieldName + "=" + value.ToString();
                    }
                    added++;
                }
                else //string
                {
                    if (value == null || value.ToString().Length == 0)
                    {
                        continue;
                    }
                    if (added != 0)
                    {
                        queryCondition += " " + _conditionAdder.ToString() + " ";
                    }
                    queryCondition += fieldName + " LIKE '%%" + value.ToString() + "%%'";// getQueryCondition(false, HandlingTypeForFilter.String, fieldName, fieldNameAndValuePair[fieldName]);//fieldName + " LIKE '%%" + value.ToString()+"%%'";
                    added++;
                }
            }
            queryCondition = (queryCondition.Length > 0) ? " (" + queryCondition + ") ":"";
            if (saveIt)
            {
                _queryCondition = queryCondition;
            }
            return(queryCondition);
        }