/// <summary>
        ///     Anmelden
        /// </summary>
        /// <param name="httpContext"></param>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <param name="isPersistent"></param>
        /// <returns></returns>
        public async Task <bool> SignInUser(HttpContext httpContext, string username, string password, bool isPersistent = false)
        {
            try
            {
                RestAccess ra   = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix);
                var        user = await ra.UserCheck(username);

                if (user.Ok && user.Result != null && !user.Result.UserIsLocked && user.Result.UserId > 0)
                {
                    var hash            = PasswordHelper.CumputeHash(password);
                    var userAccountData = await ra.UserAccountData(new ExPostUserPasswortData { UserId = user.Result.UserId, PasswordHash = hash });

                    if (userAccountData.Ok && userAccountData.Result != null && userAccountData.Result.UserAccountData != null)
                    {
                        ClaimsIdentity  identity  = new ClaimsIdentity(GetUserClaims(userAccountData.Result.UserAccountData), CookieAuthenticationDefaults.AuthenticationScheme);
                        ClaimsPrincipal principal = new ClaimsPrincipal(identity);

                        await httpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

                        return(true);
                    }
                }
            }
            catch (Exception)
            {
                return(false);
            }

            return(false);
        }