public ActionResult <ItemResponse <Paged <ProviderReport> > > ReportSelectPaged(int pageIndex, int pageSize, ProviderDetailCategories categories)
        {
            int          code     = 200;
            BaseResponse response = null;

            try
            {
                IUserAuthData user = _auth.GetCurrentUser();
                if (user.Roles.Contains("SysAdmin") || user.Roles.Contains("Office Manager"))
                {
                    Paged <ProviderReport> pagedItems = null;
                    if (user.Roles.Contains("SysAdmin"))
                    {
                        pagedItems = _service.ReportSelectAllPaged(pageIndex, pageSize, categories);
                    }
                    else
                    {
                        pagedItems = _service.ReportSelectPaged(pageIndex, pageSize, user.Id, categories);
                    }

                    if (pagedItems == null)
                    {
                        code     = 404;
                        response = new ErrorResponse("App resource not found.");
                    }
                    else
                    {
                        response = new ItemResponse <Paged <ProviderReport> > {
                            Item = pagedItems
                        };
                    }
                }
                else
                {
                    code     = 500;
                    response = new ErrorResponse("You do not meet the requirements to access this resource.");
                }
            }
            catch (Exception ex)
            {
                base.Logger.LogError(ex.ToString());
                code     = 500;
                response = new ErrorResponse(ex.Message);
            }

            return(StatusCode(code, response));
        }