public override IList <IUser> GetAllUsers(int pageIndex, int pageSize, out int totalRecords) { var returnParam = CurrentDB.CreateReturnParameter("@intPagingTotalNumber", DbType.Int32); DataSet dsUser; if (pageSize.Equals(int.MaxValue) || pageIndex.Equals(int.MaxValue)) { dsUser = CurrentDB.ExecuteDataSet("dbo.USER_FilterUsers", returnParam); } else { dsUser = CurrentDB.ExecuteDataSet("dbo.USER_FilterUsers", CurrentDB.CreateInputParameter("@intLimitPage", DbType.Int32, pageIndex + 1), CurrentDB.CreateInputParameter("@intLimitSize", DbType.Int32, pageSize), returnParam); } var uc = GetUsersFromDataSet(dsUser); UserCache.AddUsersToCache(uc); totalRecords = (int)returnParam.Value; return(uc); }