示例#1
0
        /// <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);
        }