Esempio n. 1
0
        /// <summary>
        /// 获取查询结果
        /// </summary>
        /// <param name="para"></param>
        /// <returns></returns>
        public Pager<User> QueryUsersByParameter(UserQueryParameter para)
        {
            var dataList = new Lazy<Pager<User>>();
            var sqlText = new StringBuilder();
            #region sql
            sqlText.Append(
                @"SELECT  [Id]
                  ,[UserName]
                  ,[UserPWD]
                  ,[Email]
                  ,[CreateDateTime]   
                  ,[Mobile] FROM [USER]  WHERE 1 = 1  ");
            var conditions = para.GenerateByOperate(GenerateOperate.Condition); //string.Empty.GenerateCondition(para);
            sqlText.Append(conditions);
            sqlText.Append(" ORDER BY Id DESC  OFFSET  ");
            sqlText.Append(((para.Skip) * para.Take).ToString());
            sqlText.Append(" ROWS  FETCH NEXT ");
            sqlText.Append(para.Take.ToString());
            sqlText.Append(" ROWS ONLY;");
            if (para.IsPage)
            {
                sqlText.Append(" SELECT  COUNT(1) AS Total ,CEILING((COUNT(1)+0.0)/")
                                .Append(para.Take.ToString())
                                .Append(") AS Pages FROM [USER] WHERE 1 =1  ")
                                .Append(conditions + ";");
            }
            #endregion
            using (IDbConnection conn = SqlServerDB.GetSqlConnection())
            {
                var grid = conn.QueryMultiple(sqlText.ToString(), para);
                dataList.Value.Items = grid.Read<User>().ToArray();
                if (para.IsPage)
                {
                    var pageInfo = grid.Read().FirstOrDefault();
                    if (pageInfo == null) return dataList.Value;
                    dataList.Value.Total = (int)pageInfo.Total;
                    dataList.Value.Pages = (int)pageInfo.Pages;
                }
                else
                {
                    return dataList.Value;
                }
            }

            return dataList.Value;
        }
Esempio n. 2
0
 public ActionResult UserList(UserQueryParameter para)
 {
     para.IsPage = true;
     var data = _iUserBll.GetUserListbyParameter(para);
     return View(data);
 }