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)); }
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)); }
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)); }
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"); }
/// <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); }
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())); }
public async Task <PagingList <M> > PagingListAsync(PagingQueryOption option) { OrderByOptionHandle(option, typeof(M).FullName); return(await PagingListAsyncHandle <M>(option.PageIndex, option.PageSize, UiMethodEnum.PagingListAsync)); }
/// <summary> /// 多表分页查询 /// </summary> public async Task <PagingList <T> > PagingListAsync <T>(PagingQueryOption option, Expression <Func <T> > columnMapFunc) { return(await new PagingListXOImpl(DC).PagingListAsync(option, columnMapFunc)); }
/// <summary> /// 多表分页查询 /// </summary> public async Task <PagingList <M> > PagingListAsync <M>(PagingQueryOption option) where M : class { return(await new PagingListXOImpl(DC).PagingListAsync <M>(option)); }
/// <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)); }
/// <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)); } }
/// <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)); }
/// <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)); }
/// <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)); }
/// <summary> /// 单表分页查询 /// </summary> public async Task <PagingList <M> > PagingListAsync(PagingQueryOption option) { return(await new PagingListOImpl <M>(DC).PagingListAsync(option)); }
/// <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)); }