Exemplo n.º 1
0
        public async Task <RegisterResult> RegisterUser(RegisterModel model)
        {
            var newUser = new User
            {
                UserName = model.Username,
                Email    = model.Email
            };

            if (await EmailAlreadyInUse(model.Email))
            {
                return(AlreadyInUseResult(model));
            }

            var result = await _userManager.CreateAsync(newUser, model.Password);

            if (!result.Succeeded)
            {
                return(result.ConvertIdentityResultToResult <RegisterResult>());
            }

            var token = await _userManager.GenerateEmailConfirmationTokenAsync(newUser);

            var registerResult = ResultBase.SuccessfulResult <RegisterResult>();

            registerResult.Token     = token;
            registerResult.UserEmail = newUser.Email;
            registerResult.UserId    = newUser.Id;

            return(registerResult);
        }
Exemplo n.º 2
0
        public async Task <EditUserResult> EditUser(ProfileModel model)
        {
            User user = await ProfileModelToUser(model);

            var passwordChangeResult = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.Password);

            if (!passwordChangeResult.Succeeded)
            {
                return(passwordChangeResult.ConvertIdentityResultToResult <EditUserResult>());
            }

            var userUpdateResult = await _userManager.UpdateAsync(user);

            if (!userUpdateResult.Succeeded)
            {
                return(userUpdateResult.ConvertIdentityResultToResult <EditUserResult>());
            }

            return(ResultBase.SuccessfulResult <EditUserResult>());
        }