Example #1
0
        public static PdfRenderer CreateInstance(IReportCreator basePager, string fileName, bool showOutput)
        {
            if (basePager == null)
            {
                throw new ArgumentNullException("basePager");
            }
            if (String.IsNullOrEmpty(fileName))
            {
                throw new ArgumentNullException("fileName");
            }
            BasePager bp = basePager as BasePager;

            return(PdfRenderer.CreateInstance(bp.ReportModel.ReportSettings, bp.Pages, fileName, showOutput));
        }
Example #2
0
        /// <summary>
        /// 获取分页数据, 复杂版本, 支持join
        /// </summary>d
        /// <param name="pager"></param>
        /// <param name="where">查询条件</param>
        /// <param name="param">参数</param>
        /// <param name="join">连接</param>
        /// <param name="orderby">排序</param>
        /// <param name="select">选择什么</param>
        /// <param name="tableName">表 </param>
        /// <param name="tableIsSubQuery">表为子查寻</param>
        /// <param name="groupby">分组</param>
        /// <param name="type">分组</param>
        /// <returns></returns>
        public static IList <TP> GetByPager <TP>(string tableName, BasePager pager, string where = "", object param = null, string select = "", string join = "", string orderby = "", string groupby = "", bool tableIsSubQuery = false)
        {
            var baseSql = " from " + tableName + (tableIsSubQuery ? "" : " as obj ") +
                          (!string.IsNullOrEmpty(join) ? join : "") + " " +
                          (!string.IsNullOrEmpty(where) ? "where " + where : "") + " ";

            baseSql += string.IsNullOrEmpty(groupby) ? "" : " GROUP BY " + groupby + " ";

            var orderBySql = (!string.IsNullOrEmpty(orderby)
                ? "order by " + orderby
                : "order by obj.ID desc");

            var countSql = "";

            if (string.IsNullOrEmpty(groupby))
            {
                countSql = "select count(*) " + baseSql;
            }
            else
            {
                countSql = "select count(*) from (select " + groupby + " " + baseSql + ") as sub";
            }


            var count = GetCurrentConnection().QueryFirstOrDefault <long>(countSql, param);

            pager.TotalRecord = count;

            if (count > 0)
            {
                if (pager.CurrentPage > pager.TotalPage)
                {
                    pager.CurrentPage = pager.TotalPage;
                }

                var dataSql = "select * from (select ROW_NUMBER() over (" + orderBySql + ") as RowNum, " + (!string.IsNullOrEmpty(select) ? select : "obj.*") + baseSql + ") as sub where sub.RowNum BETWEEN  " + ((pager.CurrentPage - 1) * pager.PageSize + 1) + " and " + ((pager.CurrentPage - 1) * pager.PageSize + pager.PageSize);

                var list = GetCurrentConnection().Query <TP>(dataSql, param).ToList();
                return(list);
            }

            return(new List <TP>());
        }
Example #3
0
 /// <summary>
 /// 获取分页数据, 复杂版本, 支持join
 /// </summary>
 /// <param name="pager"></param>
 /// <param name="where">查询条件</param>
 /// <param name="param">参数</param>
 /// <param name="join">连接</param>
 /// <param name="orderby">排序</param>
 /// <param name="select">选择什么</param>
 /// <returns></returns>
 public IList <TModel> GetByPager(BasePager pager, string where = "", object param = null, string select = "", string join = "", string orderby = "", string groupby = "", bool tableIsSubQuery = false)
 {
     return(GetByPager <TModel>(pager, where, param, select, join, orderby, groupby, tableIsSubQuery));
 }
Example #4
0
 /// <summary>
 /// 获取分页数据, 复杂版本, 支持join
 /// </summary>
 /// <param name="pager"></param>
 /// <param name="where">查询条件</param>
 /// <param name="param">参数</param>
 /// <param name="join">连接</param>
 /// <param name="orderby">排序</param>
 /// <param name="select">选择什么</param>
 /// <param name="tableIsSubQuery"></param>
 /// <returns></returns>
 public IList <TP> GetByPager <TP>(BasePager pager, string where = "", object param = null, string select = "", string join = "", string orderby = "", string groupby = "", bool tableIsSubQuery = false)
 {
     return(DbHelper.GetByPager <TP>(TableName, pager, where, param, select, join, orderby, groupby, tableIsSubQuery));
 }
Example #5
0
 public WebPager(BasePager <T> pager)
     : base(pager)
 {
 }