feat(api): paginationQuery добавлен параметр отключения пагинации. Контроллер ApplicationInWorks GetAll.
This commit is contained in:
@@ -12,16 +12,16 @@ namespace PARR.API.Extensions
|
||||
/// <typeparam name="Query"></typeparam>
|
||||
/// <param name="pagedResponse"></param>
|
||||
/// <param name="paginationFilter"></param>
|
||||
/// <param name="quaryAllItemsApplyFilters"></param>
|
||||
/// <param name="queryAllItemsApplyFilters"></param>
|
||||
/// <returns></returns>
|
||||
public static PagedResponse<TypeResponse> GetPaginatedProps<TypeResponse, Query>(
|
||||
this PagedResponse<TypeResponse> pagedResponse,
|
||||
PaginationFilter paginationFilter,
|
||||
IQueryable<Query> quaryAllItemsApplyFilters
|
||||
IQueryable<Query> queryAllItemsApplyFilters
|
||||
)
|
||||
{
|
||||
// TODO: CountAsync - подумать и затолкать в Task
|
||||
int totalItems = quaryAllItemsApplyFilters.Count();//.CountAsync().GetAwaiter().GetResult();
|
||||
int totalItems = queryAllItemsApplyFilters.Count();//.CountAsync().GetAwaiter().GetResult();
|
||||
return CreatePaginatedResponse(totalItems, paginationFilter, pagedResponse);
|
||||
}
|
||||
|
||||
@@ -46,8 +46,17 @@ namespace PARR.API.Extensions
|
||||
private static PagedResponse<T> CreatePaginatedResponse<T>(int totalItems, PaginationFilter paginationFilter, PagedResponse<T> pagedResponse)
|
||||
{
|
||||
pagedResponse.TotalItems = totalItems;
|
||||
pagedResponse.PageNumber = paginationFilter.PageNumber >= 1 ? paginationFilter.PageNumber : (int?)null;
|
||||
pagedResponse.PageSize = paginationFilter.PageSize >= 1 ? paginationFilter.PageSize : (int?)null;
|
||||
//pagedResponse.PageNumber = paginationFilter.PageNumber >= 1 ? paginationFilter.PageNumber : (int?)null;
|
||||
//pagedResponse.PageSize = paginationFilter.PageSize >= 1 ? paginationFilter.PageSize : (int?)null;
|
||||
|
||||
pagedResponse.PageNumber = paginationFilter.IsDisabledPagination
|
||||
? 1
|
||||
: (paginationFilter.PageNumber >= 1 ? paginationFilter.PageNumber : (int?)null);
|
||||
|
||||
pagedResponse.PageSize = paginationFilter.IsDisabledPagination
|
||||
? totalItems
|
||||
: (paginationFilter.PageSize >= 1 ? paginationFilter.PageSize : (int?)null);
|
||||
|
||||
pagedResponse.TotalPage =
|
||||
(pagedResponse.TotalItems.HasValue && pagedResponse.PageSize.HasValue)
|
||||
? (int)Math.Ceiling(pagedResponse.TotalItems.Value / (double)pagedResponse.PageSize.Value)
|
||||
|
||||
Reference in New Issue
Block a user