Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 public void RegisterUser(IRegisterUserViewModel model)
 {
     this.OnPostRegisterAsync(model, model.Password);
 }