Example #1
0
        public SQLPage <T> ConvertPage <T>(object obj, DataSet ds)
        {
            var resutl = new SQLPage <T>();

            resutl.Result     = Convert <T>(obj, ds.Tables[0]);
            resutl.Count      = System.Convert.ToInt32(ds.Tables[1].Rows[0]["total"]);
            resutl.Pagination = System.Convert.ToInt32(ds.Tables[1].Rows[0]["rows"]);
            return(resutl);
        }
Example #2
0
        public SQLPage <SQLDynamicRow> GetDyncGrid(int page, int current, string tblName, string where = "", string order = "")
        {
            var sqlStr   = "select * from (select row_number()over(order by tempColumn)rownumber, * from(select top {0} tempColumn = 0, * from {1})a )b where rownumber > {2}";
            var sqlTotal = "select count(0) as total,case when (count(0)%{0}) = 0 then (count(0)/{0}) else (count(0)/{0})+1  end as rows from {1}";

            var sql = new StringBuilder().AppendFormat(
                sqlStr
                , current * page + page
                , $"[{tblName}] {where} {order}"
                , current * page
                );

            sql.AppendFormat(
                sqlTotal
                , page
                , $"[{tblName}] {where}"
                );
            var dataSet  = _dbHelper.ExecuteDataSetTp(sql.ToString());
            var dataList = dataSet.Tables[0];
            var name     = new List <string>();

            foreach (DataColumn item in dataList.Columns)
            {
                if (item.ColumnName == "tempColumn" || item.ColumnName == "rownumber")
                {
                    continue;
                }
                name.Add(item.ColumnName);
            }

            var sqlPage = new SQLPage <SQLDynamicRow>()
            {
                Result = dataList.AsEnumerable().Select(t =>
                {
                    return(new SQLDynamicRow()
                    {
                        Row = name.Select(n =>
                        {
                            return new SQLDynamicItem()
                            {
                                Name = n,
                                Value = GetValue(t[n])
                            };
                        })
                    });
                }),
                Count      = System.Convert.ToInt32(dataSet.Tables[1].Rows[0]["total"]),
                Pagination = System.Convert.ToInt32(dataSet.Tables[1].Rows[0]["rows"])
            };

            return(sqlPage);
        }