public async Task <IdentityResult> SignUpAndSignIn(IRegisterUserViewModel model) { var user = _mappingManager.Map <IRegisterUserViewModel, User>(model); var result = await _userRepository.AddAsync(user, model.Password); if (result.Succeeded) { await _authenticationManager.SignInAsync(user); await _emailManager.SendConfirmationEmail(user.Id); } return(result); }
public IdentityResult OnPostRegisterAsync(IRegisterUserViewModel viewModel, string password) { var model = this.mapper .Map <IRegisterUserViewModel, Models.ForumUser>(viewModel); model.RegisteredOn = DateTime.UtcNow; var result = userManager.CreateAsync(model, password).GetAwaiter().GetResult(); if (result.Succeeded) { if (this.dbService.DbContext.Users.Count() == 1) { this.userManager.AddToRoleAsync(model, Common.Role.Owner).GetAwaiter().GetResult(); } else if (this.dbService.DbContext.Users.Count() == 2) { this.userManager.AddToRoleAsync(model, Common.Role.Administrator).GetAwaiter().GetResult(); } else { this.userManager.AddToRoleAsync(model, Common.Role.User).GetAwaiter().GetResult(); } if (viewModel.Image != null) { this.profileService.UploadProfilePicture(viewModel.Image, viewModel.Username); } signInManager.SignInAsync(model, isPersistent: false).GetAwaiter().GetResult(); } return(result); }
public void RegisterUser(IRegisterUserViewModel model) { this.OnPostRegisterAsync(model, model.Password); }