public async Task <IActionResult> AddAsync(NewUserInputModel input) { if (!ModelState.IsValid) { return(View(input)); } var user = _mapper.Map <User>(input); user.UserName = input.Email; user.EmailConfirmed = true; var result = await _userManager.CreateAsync(user, input.Password); if (result.Succeeded) { var claims = SecurityUtils.GetAdditionalClaims(user); if (claims.Count > 0) { await _userManager.AddClaimsAsync(user, claims); } _logger.LogInformation("{user} created account for {newUser}", User.Identity.Name, input.Email); return(RedirectToAction(nameof(Index))); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(View(input)); } }
public async Task <int> Create([FromBody] NewUserInputModel model) { var userConnectedId = int.Parse(HttpContext.User.Claims.First(_ => _.Type == ClaimTypes.NameIdentifier).Value); model.ParentUserId = userConnectedId; return((await _unitOfWork.SaveChangesAsync(_userWriterService.Save(model))).Id.Value); }
public Response <AccountCreationOutputModel> CreateAccount([FromBody] NewUserInputModel newUserInput) { var response = this._sinukaWebAccountsEndpoints.AddUser(newUserInput); return(new Response <AccountCreationOutputModel>(new AccountCreationOutputModel() { IsCreated = response.Succeeded, })); }
public async Task <IdentityResult> AddUser([FromBody] NewUserInputModel newUserInput) { return(await this._userManager.CreateAsync(new Sinuka.Core.Domains.Entities.User() { UserName = newUserInput.Username, PasswordHash = newUserInput.Password, PhoneNumber = newUserInput.PhoneNumber, Email = newUserInput.Email, }, newUserInput.Password)); }
public async Task <IdentityResult> AddUser([FromBody] NewUserInputModel newUserInput) { var user = new Sinuka.Core.Domains.Entities.User() { UserName = newUserInput.Username, PasswordHash = newUserInput.Password, PhoneNumber = newUserInput.PhoneNumber, Email = newUserInput.Email, }; var result = await this._userManager.CreateAsync(user, newUserInput.Password); await this._userManager.AddToRoleAsync(user, Sinuka.Core.Domains.Constants.UserRoleTypes.StudentApplicant); return(result); }
public async Task <IActionResult> Register([FromBody] NewUserInputModel newUser) { try { var userProfileDto = newUser.ConvertToUserProfile(); var userCreatedResult = await _mediator.Send(new NewUserCommand(userProfileDto, newUser.Password)); return(Ok()); } catch (UserException userEx) { return(BadRequest(userEx.Message)); } catch (System.Exception) { return(StatusCode((int)HttpStatusCode.InternalServerError)); } }
public IdentityResult AddUser(NewUserInputModel newUserInput) { return(this._sinukaWebAccountsEndpoint.AddUser(newUserInput)); }
public async Task <IActionResult> RegisterUser([FromBody] NewUserInputModel model) { // search role var role = _roleManager.FindByIdAsync(model.RoleID).Result; var user = new AppUser { UserName = model.UserName, Email = model.Email, OrganizationID = model.OrgID, EmailConfirmed = false, PhoneNumber = model.PhoneNumber }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { // code for adding user to role await _userManager.AddToRoleAsync(user, role.Name); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var uriBuilder = new UriBuilder(model.BaseUrl + "/confirm"); var parameters = HttpUtility.ParseQueryString(string.Empty); parameters["userId"] = user.Id.ToString(); parameters["code"] = code; uriBuilder.Query = parameters.ToString(); Uri finalUrl = uriBuilder.Uri; AccountVerificationData verificationData = new AccountVerificationData { UserName = model.UserName, SiteName = _config.Value.SolutionName, BaseUrl = finalUrl.AbsoluteUri, Title = "APlus Account Verification", SiteUrl = _config.Value.BaseURL }; await _emailSender.SendEmailAsync(model.Email, "APlus Account Verification", DataFormatManager.GetFormatedAccountVerificationEmailTemplate(verificationData, _hostingEnvironment.ContentRootPath + _templateParams.Value.AccountVerificationTemplate)); return(Ok(new { result = true, message = "" })); } else { List <string> list = new List <string>(); foreach (var error in result.Errors) { list.Add(error.Description); } return(Ok(new { result = false, message = list })); } }
public IdentityResult AddUser(NewUserInputModel newUserInput) { return(this._sinukaWebAccountsEndpoint.AddUser(newUserInput, LoginAndFetchToken())); }