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)); }