private IdentityResult AddUser(int?clientId, IApplicationUserAddParam param)
        {
            IdentityResult identityResult;
            var            user = ApplicationUser.Create(ApplicationUser, clientId, param, new string[0], UserManager, out identityResult);

            if (identityResult.Succeeded)
            {
                var adminUserGroup = uow.UserGroup.GetClientAdministratorUserGroup();
                identityResult = user.UpdateUserAuth(ApplicationUser, new UserGroup[] { adminUserGroup }, UserManager);
            }
            return(identityResult);
        }
        public static ApplicationUser Create(
            IApplicationUser user,
            int?clientId,
            IApplicationUserAddParam param,
            string[] roles,
            ApplicationUserManager userManager,
            out IdentityResult identityResult
            )
        {
            var resultUser = new ApplicationUser();

            resultUser.client_id = clientId;
            resultUser.UserName  = param.userName;
            resultUser.Update(user, param);
            identityResult = userManager.Create(resultUser, param.password);

            if (identityResult.Succeeded)
            {
                identityResult = resultUser.UpdateUserAuth(user, param.userGroupIds, roles, userManager);
            }
            return(resultUser);
        }