/// <summary>
        ///  Ermittelt alle API-User
        /// </summary>
        /// <param name="predicate"></param>
        /// <param name="pageNo"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        private async Task <IHttpActionResult> GetAllApiUsersHelper(Func <APIUser, bool> predicate, int pageNo = 1, int pageSize = 10)
        {
            IHandleJobs repo     = new JobRepository(_username);
            var         dbResult = await repo.GetAllApiUsers(predicate);

            if (!dbResult.Success)
            {
                return(Content(HttpStatusCode.BadRequest, dbResult.Message));
            }

            int skip  = (pageNo - 1) * pageSize;
            int total = dbResult.Data.Count;

            dbResult.Data = dbResult.Data.Skip(skip).Take(pageSize).ToList();

            var result = dbResult.Data.Select(user => new
            {
                user.Username,
                user.IsAdmin,
                user.CreatedUser,
                user.CreatedDate,
                user.UniqueId,
                user.Id,
                _links = new Link()
                {
                    _actions = new List <Action>()
                    {
                        !user.IsAdmin ? CreateActionLink <AdminController>(Names.SetApiUserAsAdmin, c => c.SetApiUserAsAdmin(user.Username), Names.SetApiUserAsAdmin):null,
                        user.IsAdmin ? CreateActionLink <AdminController>(Names.RevokeAdminFromApiUser, c => c.RevokeAdminFromApiUser(user.Username), Names.RevokeAdminFromApiUser) : null,
                        CreateActionLink <AdminController>(Names.DeleteApiUser, c => c.DeleteApiUser(user.Username), Names.DeleteApiUser),
                    }
                }
            }).ToList();

            result.ForEach(c => c._links._actions.RemoveAll(d => d == null));
            var linkBuilderResult = new PageLinkBuilder(Url, Names.GetAllApiUsers, null, pageNo, pageSize, total);

            return(Ok(new JobResult <object>()
            {
                SemasResult = new SemasResult <object>(true)
                {
                    Data = result
                },
                _paging = new
                {
                    First = linkBuilderResult.FirstPage,
                    Previous = linkBuilderResult.PreviousPage,
                    Next = linkBuilderResult.NextPage,
                    Last = linkBuilderResult.LastPage,
                    TotalItems = total,
                    TotalPageCount = linkBuilderResult.TotalPageCount
                }
            }));
        }