public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            var executedContext = await next();

            if (executedContext.Result is ViewResult result && result.Model is IQueryable <ModelBase> model)
            {
                var itemCount = await model.CountAsync();

                var requestData = GetRequestPagingData(executedContext.HttpContext.Request);
                var pageSize    = PagingHelper.CheckPageSize(requestData.pageSize);
                var pageNumber  = requestData.page > 0 ? requestData.page : 1;
                var pageCount   = PagingHelper.GetPageCount(pageSize, itemCount);

                result.ViewData.Model = SetPageQuery(model, pageNumber, pageSize);
                result.ViewData.Add("pageCount", pageCount);
                result.ViewData.Add("pageSize", pageSize);
                result.ViewData.Add("pageNumber", pageNumber);
            }
        }