Example #1
0
        private string SetPostListInfo(IInputData input, ParamBuilderContainer condition, ListSortInfo listInfo)
        {
            MetaDataTableResolver metaResolver = MainResolver as MetaDataTableResolver;

            if (metaResolver != null)
            {
                QueryConditionObject conditionData = input.PostObject.Convert <QueryConditionObject>();
                IParamBuilder        builder       = metaResolver.GetQueryCondition(conditionData);
                if (builder != null)
                {
                    QueryCondition queryCondition = new QueryCondition(conditionData.Condition, builder);
                    condition.Add(builder);
                    listInfo.SqlCon = queryCondition.ToEncodeString();
                }
            }
            if (SortQuery)
            {
                //string orderby;
                //int sort;
                //string order;
                var jsonOrder = ParseSortParams2(input);
                //ParseSortParams(input, out orderby, out sort, out order);
                //listInfo.SortField = sort;
                //listInfo.Order = order != "DESC" ? "ASC" : "DESC";
                listInfo.JsonOrder = jsonOrder.ToJson();

                return(jsonOrder.ToSqlOrder(MainResolver));
            }

            return(string.Empty);
        }
Example #2
0
        public IParamBuilder GetCondition(QueryConditionObject condition)
        {
            TkDebug.AssertArgumentNull(condition, "condition", this);

            ParamBuilderContainer container = new ParamBuilderContainer();

            foreach (var item in condition.Condition)
            {
                if (string.IsNullOrEmpty(item.Value))
                {
                    continue;
                }
                if (fIgnoreFields.Contains(item.Key))
                {
                    continue;
                }

                FieldItem      field  = new FieldItem(item.Key);
                BaseListSearch search = ObjectUtil.TryGetValue(fSearchMethod, item.Key);
                if (search == null)
                {
                    search = fDefaultSearch;
                }
                search.Context       = Context;
                search.ConditionData = condition.Condition;
                search.IsEqual       = false;
                search.FieldName     = field;

                var builder = search.GetCondition(field, item.Value);
                container.Add(builder);
            }
            return(container);
        }
Example #3
0
        public override OutputData DoAction(IInputData input)
        {
            TkDebug.Assert(input.IsPost, "此Source支持Post状态,当前是Get", this);
            QueryConditionObject obj = input.PostObject.Convert <QueryConditionObject>();

            CalcResult(obj);

            return(OutputData.Create(DataSet));
        }
Example #4
0
        public static string GetCondition(MetaDataTableResolver resolver, params Tuple <string, string>[] conditions)
        {
            TkDebug.AssertArgumentNull(resolver, "resolver", null);
            TkDebug.AssertArgumentNull(conditions, "conditions", null);

            Dictionary <string, string> dict = new Dictionary <string, string>();

            foreach (var item in conditions)
            {
                dict[item.Item1] = item.Item2;
            }

            QueryConditionObject obj       = new QueryConditionObject(true, dict);
            IParamBuilder        builder   = resolver.GetQueryCondition(obj);
            QueryCondition       condition = new QueryCondition(dict, builder);

            return(condition.ToEncodeString());
        }
Example #5
0
 protected abstract void CalcResult(QueryConditionObject obj);