Esempio n. 1
0
 public async Task <PagingList <VM> > PagingListAsync <VM>(PagingQueryOption option, Expression <Func <M, VM> > func)
     where VM : class
 {
     SelectMHandle(func);
     OrderByOptionHandle(option, typeof(M).FullName);
     return(await PagingListAsyncHandle <M, VM>(option.PageIndex, option.PageSize, UiMethodEnum.PagingListAsync));
 }
Esempio n. 2
0
 public async Task <PagingList <M> > PagingListAsync(PagingQueryOption option)
 {
     DC.PageIndex = option.PageIndex;
     DC.PageSize  = option.PageSize;
     OrderByOptionHandle(option, typeof(M).FullName);
     return(await PagingListAsyncHandle <M>(UiMethodEnum.PagingListAsync, false));
 }
Esempio n. 3
0
 public async Task <PagingList <VM> > PagingListAsync <VM>(PagingQueryOption option)
     where VM : class
 {
     DC.PageIndex = option.PageIndex;
     DC.PageSize  = option.PageSize;
     SelectMHandle <M, VM>();
     OrderByOptionHandle(option, typeof(M).FullName);
     return(await PagingListAsyncHandle <M, VM>(UiMethodEnum.PagingListAsync, false, null));
 }
Esempio n. 4
0
        string GenerateSort(PagingQueryOption option)
        {
            if (option.OrderBy.IsEmpty())
            {
                throw new ArgumentException("Invalid PagingQueryOption specified. OrderBy is mandatory.");
            }

            if (option.PageSize < 1)
            {
                throw new ArgumentException("Invalid PagingQueryOption specified. PageSize should be a positive number.");
            }

            return(option.OrderBy + " OFFSET " + option.StartIndex + " ROWS FETCH NEXT " + option.PageSize + " ROWS ONLY");
        }
Esempio n. 5
0
        /// <summary>
        /// 单表分页查询
        /// </summary>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">每页条数</param>
        public async Task <PagingList <M> > QueryPagingListAsync <M>(PagingQueryOption option)
        {
            SelectMHandle <M>();
            OrderByOptionHandle(option);
            var result = new PagingList <M>();

            result.PageIndex = option.PageIndex;
            result.PageSize  = option.PageSize;
            var paras = DC.GetParameters();
            var sql   = DC.SqlProvider.GetSQL <M>(UiMethodEnum.JoinQueryPagingListAsync, result.PageIndex, result.PageSize);

            result.TotalCount = await SqlHelper.ExecuteScalarAsync <long>(DC.Conn, sql[0], paras);

            result.Data = (await SqlHelper.QueryAsync <M>(DC.Conn, sql[1], paras)).ToList();
            return(result);
        }
Esempio n. 6
0
        public async Task <PagingList <T> > PagingListAsync <T>(PagingQueryOption option, Expression <Func <M, T> > columnMapFunc)
        {
            DC.PageIndex = option.PageIndex;
            DC.PageSize  = option.PageSize;
            var single = typeof(T).IsSingleColumn();

            if (single)
            {
                SingleColumnHandle(columnMapFunc);
            }
            else
            {
                SelectMHandle(columnMapFunc);
            }
            OrderByOptionHandle(option, typeof(M).FullName);
            return(await PagingListAsyncHandle <M, T>(UiMethodEnum.PagingListAsync, single, columnMapFunc.Compile()));
        }
Esempio n. 7
0
 public async Task <PagingList <M> > PagingListAsync(PagingQueryOption option)
 {
     OrderByOptionHandle(option, typeof(M).FullName);
     return(await PagingListAsyncHandle <M>(option.PageIndex, option.PageSize, UiMethodEnum.PagingListAsync));
 }
Esempio n. 8
0
 /// <summary>
 /// 多表分页查询
 /// </summary>
 public async Task <PagingList <T> > PagingListAsync <T>(PagingQueryOption option, Expression <Func <T> > columnMapFunc)
 {
     return(await new PagingListXOImpl(DC).PagingListAsync(option, columnMapFunc));
 }
Esempio n. 9
0
 /// <summary>
 /// 多表分页查询
 /// </summary>
 public async Task <PagingList <M> > PagingListAsync <M>(PagingQueryOption option)
     where M : class
 {
     return(await new PagingListXOImpl(DC).PagingListAsync <M>(option));
 }
Esempio n. 10
0
 /// <summary>
 ///     Queryer 便捷 PagingListAsync 方法
 /// </summary>
 public static async Task <PagingList <VM> > PagingListAsync <M, VM>(this IDbConnection conn, PagingQueryOption option,
                                                                     Expression <Func <M, VM> > columnMapFunc)
     where M : class, new()
     where VM : class
 {
     return(await conn.Queryer <M>().Where(option).PagingListAsync(option, columnMapFunc));
 }
Esempio n. 11
0
 /// <summary>
 ///     Queryer 便捷 PagingListAsync 方法
 /// </summary>
 public static async Task <PagingList <VM> > PagingListAsync <M, VM>(this IDbConnection conn, Expression <Func <M, bool> > condition, PagingQueryOption option, Expression <Func <M, VM> > columnMapFunc = null)
     where M : class, new()
     where VM : class
 {
     if (columnMapFunc != null)
     {
         return(await conn.Queryer <M>().Where(condition).PagingListAsync <VM>(option, columnMapFunc));
     }
     else
     {
         return(await conn.Queryer <M>().Where(condition).PagingListAsync <VM>(option));
     }
 }
Esempio n. 12
0
 /// <summary>
 ///     Queryer 便捷 PagingListAsync 方法
 /// </summary>
 public static async Task <PagingList <VM> > PagingListAsync <M, VM>(this IDbConnection conn, PagingQueryOption option)
     where M : class, new()
     where VM : class
 {
     return(await conn.Queryer <M>().Where(option).PagingListAsync <VM>(option));
 }
Esempio n. 13
0
 /// <summary>
 /// 多表分页查询
 /// </summary>
 /// <typeparam name="VM">ViewModel</typeparam>
 /// <param name="pageIndex">页码</param>
 /// <param name="pageSize">每页条数</param>
 public async Task <PagingList <VM> > PagingListAsync <VM>(PagingQueryOption option, Expression <Func <VM> > columnMapFunc)
     where VM : class
 {
     return(await new PagingListXOImpl(DC).PagingListAsync <VM>(option, columnMapFunc));
 }
Esempio n. 14
0
 /// <summary>
 /// 单表分页查询
 /// </summary>
 /// <typeparam name="VM">ViewModel</typeparam>
 /// <param name="pageIndex">页码</param>
 /// <param name="pageSize">每页条数</param>
 public async Task <PagingList <VM> > QueryPagingListAsync <VM>(PagingQueryOption option)
 {
     OrderByOptionHandle(option);
     return(await QueryPagingListAsyncHandle <M, VM>(option.PageIndex, option.PageSize, UiMethodEnum.QueryPagingListAsync));
 }
Esempio n. 15
0
 /// <summary>
 /// 单表分页查询
 /// </summary>
 public async Task <PagingList <M> > PagingListAsync(PagingQueryOption option)
 {
     return(await new PagingListOImpl <M>(DC).PagingListAsync(option));
 }
Esempio n. 16
0
 /// <summary>
 /// 单表分页查询
 /// </summary>
 /// <typeparam name="VM">ViewModel</typeparam>
 /// <param name="pageIndex">页码</param>
 /// <param name="pageSize">每页条数</param>
 public async Task <PagingList <VM> > QueryPagingListAsync <VM>(PagingQueryOption option, Expression <Func <M, VM> > func)
 {
     SelectMHandle(func);
     OrderByOptionHandle(option);
     return(await QueryPagingListAsyncHandle <M, VM>(option.PageIndex, option.PageSize, UiMethodEnum.QueryPagingListAsync));
 }