/// <summary> /// Computes the pagination values. /// </summary> /// <param name="paginationRequest">The pagination request.</param> /// <param name="configuration">The configuration.</param> /// <returns></returns> public static (int, int, int) ComputePaginationValues(PaginationRequest paginationRequest, IConfiguration configuration) { const string paginationSection = Constant.PaginationSection; const string limitSubSection = Constant.LimitSubSection; const int defaultLimit = Constant.DefaultLimit; int defaultConfigLimit = configuration.GetConfigAsInt(paginationSection, limitSubSection, defaultLimit); paginationRequest?.CheckParamsValue(defaultConfigLimit); var page = paginationRequest?.Page; var limit = paginationRequest?.Limit; int offset = Offset(page.Value, limit.Value); return(page.Value, limit.Value, offset); }