public async Task <IHttpActionResult> RegisterDependent(RegisterDependentModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (SvcContainer.UserSvc.IsUserNameUsed(model.UserName)) { return(BadRequest("Username already in use")); } var currUserModel = SvcContainer.UserSvc.GetCurrentUserModel(); var user = new ApplicationUser() { UserName = model.UserName, Email = currUserModel.Email }; user.EmailConfirmed = true; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(GetErrorResult(result)); } var userModel = SvcContainer.UserSvc.CreateNewDependentUser(user.Id, user.UserName, user.Email, model); userModel.DependentPermission.User = null; SvcContainer.UserSvc.ResetStoredUser(); return(Ok(userModel)); }
public UserModel CreateNewDependentUser(string localAuthId, string userName, string email, RegisterDependentModel model) { var childUser = CreateNewUser(localAuthId, userName, email, UserTypeEnum.Child, model); return(childUser); }