public async Task <IActionResult> Register(RegisterAccountDTO registerAccountDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } bool isUsernameExist = await _accountAppService.checkUsernameExist(registerAccountDTO.UserName); if (isUsernameExist) { return(BadRequest(new Response { Message = "Username already exist" })); } bool isEmailExist = await _accountAppService.checkEmailExist(registerAccountDTO.Email); if (isEmailExist) { return(BadRequest(new Response { Message = "Email already exist" })); } try { registerAccountDTO.IsDoctor = false; ApplicationUserIdentity registerUser = await _accountAppService.Register(registerAccountDTO); await _accountAppService.AssignToRole(registerUser.Id, UserRoles.Patient); _generalAppService.CommitTransaction(); return(Ok(new Response { Message = "Account created successfully" })); } catch (Exception ex) { _generalAppService.RollbackTransaction(); return(BadRequest(new Response { Message = ex.Message })); } }
public ActionResult Register(RegisterVM user) { if (ModelState.IsValid == false) { return(View(user)); } IdentityResult result = accountAppService.Register(user); if (result.Succeeded) { IAuthenticationManager owinMAnager = HttpContext.GetOwinContext().Authentication; //SignIn SignInManager <ApplicationUserIdentity, string> signinmanager = new SignInManager <ApplicationUserIdentity, string>( new ApplicationUserManager(), owinMAnager ); ApplicationUserIdentity identityUser = accountAppService.Find(user.UserName, user.PasswordHash); accountAppService.AssignToRole(identityUser.Id, "Dealer"); //Add user to Role dealerAppService.SaveNewDealer(new DAL.Dealer { Id = identityUser.Id, }); //To add UserId to Dealer table, like make the relatin manwal notificationAppService.SaveNewNotification(new Notification { Id = identityUser.Id, MessageNotification = 0 }); //To add UserId to Notification table, like make the relatin manwal signinmanager.SignIn(identityUser, true, true); return(RedirectToAction("Index", "Car", new { area = "Dealer" }));//Dealer area } else { ModelState.AddModelError("", result.Errors.FirstOrDefault()); return(View(user)); } }
public ActionResult Register(RegisterViewModel newUser, bool isHost = false) { if (!ModelState.IsValid) { return(View(newUser)); } IdentityResult result = accountAppService.Register(newUser, isHost, User.IsInRole("Admin")); if (result.Succeeded) { ApplicationIdentityUser registeredUser = accountAppService.Find(newUser.UserName, newUser.PasswordHash); if (User.IsInRole("Admin")) { accountAppService.AssignToRole(registeredUser.Id, "Admin"); } else { if (isHost) { accountAppService.AssignToRole(registeredUser.Id, "Host"); } else { accountAppService.AssignToRole(registeredUser.Id, "User"); ShoppingCartAppService.Insert(registeredUser.Id); } } return(RedirectToAction("Login")); } else { ModelState.AddModelError("", result.Errors.FirstOrDefault()); return(View(newUser)); } }
public void AssignToRole_test() { var result = account.AssignToRole("681d3de9-b4b1-4c5d-8b3d-7d86fbb45447", "Admin"); Assert.That(result.Succeeded, Is.EqualTo(true)); }