public async Task<IHttpActionResult> Register(UserIdentity userModel)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            IdentityResult result;
            if (!string.IsNullOrEmpty(userModel.OldPassword))
            {
                ClaimsPrincipal principal = Request.GetRequestContext().Principal as ClaimsPrincipal;
                result = await _repo.ChangePassword(principal.Identity.GetUserId(), userModel.OldPassword, userModel.Password);
            }
            else
            {
                result = await _repo.RegisterUser(userModel);
            }
            IHttpActionResult errorResult = GetErrorResult(result);
            if (errorResult != null)
            {
                return errorResult;
            }

            return Ok();
        }
Esempio n. 2
0
        public async Task<IdentityResult> RegisterUser(UserIdentity userModel)
        {

            ApplicationUser user = new ApplicationUser(userModel.UserName, userModel.email);
            user.SetPasswordHash(userModel.Password);
            user.SetPhoneNumber(userModel.phone, userModel.phoneType);
            //user.AddRole("user");
            //user.SetEmail(userModel.email);
            //ApplicationUser user = new RavenUser(userModel.UserName);
            
            var result = await _userManager.CreateAsync(user);

            await _userManager.AddToRoleAsync(user.Id, "user");
            await _userManager.SetPhoneNumberAsync(user.Id, userModel.phone); 

            //var result = await _userManager.CreateAsync(user, userModel.Password);

            return result;
        }