public async Task <IActionResult> RegisterAsync(UserForRegisterViewModel userForRegisterViewModel) { var userDto = _mapper.Map <UserDto>(userForRegisterViewModel); var userToRegisterDto = _mapper.Map <UserRegisterDto>(userForRegisterViewModel); var today = DateTime.Today; var age = today.Year - userForRegisterViewModel.BirthDate.Year; if (userForRegisterViewModel.BirthDate > today.AddYears(-age)) { age--; } if (await _authRepository.UserExists(userDto) != null) { return(Unauthorized("ERR_USERNAME_EXISTS")); } if (await _authRepository.EmailExists(userDto) != null) { return(Unauthorized("ERR_EMAIL_EXISTS")); } if (age < 18) { return(Unauthorized("ERR_MAJORITY_REQUIRED")); } var result = await _authRepository.RegisterAsync(userToRegisterDto); return(Ok(result)); }
public async Task <IActionResult> Post([FromBody] UserForRegisterViewModel userForRegister) { var tokenHandler = new JwtSecurityTokenHandler(); var user = new User { Email = userForRegister.Email, Password = userForRegister.Password, Name = userForRegister.Name, Surname = userForRegister.Surname }; try { var isReg = _auth.Register(user, user.Password); if (isReg == "") { throw new Exception(); } } catch (Exception ex) { return(StatusCode(500)); } var token = _auth.Login(user.Email, user.Password); return(Ok(new { token = tokenHandler.WriteToken(token) })); }
public async Task <UserForRegisterViewModel> Register(UserForRegisterViewModel user) { var registerUser = _mapper.Map <User>(user); var createUser = await _authRepository.Register(registerUser, user.Password); var userToReturn = _mapper.Map <UserForRegisterViewModel>(createUser); return(userToReturn); }
public async Task <IActionResult> Register([FromBody] UserForRegisterViewModel UserForRegisterVM) { var userMap = _mapper.Map <User>(UserForRegisterVM); // if( await _repo.EmailExist(UserForRegisterVM.Email) == true) return BadRequest("Email Exist!"); var result = await _userManager.CreateAsync(userMap, UserForRegisterVM.Password); if (result.Succeeded) { var userToReturn = _mapper.Map <UserToReturnViewModel>(userMap); return(Ok(userToReturn)); } return(BadRequest(result.Errors)); }
public async Task <IActionResult> Register([FromBody] UserForRegisterViewModel userForRegisterViewModel) { var userApp = _mapper.Map <User>(userForRegisterViewModel); var identityResult = await _userManager.CreateAsync(userApp, userForRegisterViewModel.Password); if (identityResult.Succeeded) { await _userManager.AddToRoleAsync(userApp, Constants.RoleNameNormalUser); var userToReturn = _mapper.Map <UserForListViewModel>(userApp); return(Ok(userToReturn)); } return(BadRequest(identityResult.Errors)); }
public async Task <IActionResult> Register([FromBody] UserForRegisterViewModel user) { var username = user.UserName; if (await repo.UserExists(username)) { return(BadRequest("User already exist!")); } var userToCreate = mapper.Map <User>(user); var createdUser = await repo.Register(userToCreate, user.Password); var userToReturn = mapper.Map <UserForDetailViewModel>(createdUser); return(CreatedAtRoute("GetUser", new { Controller = "Users", id = createdUser.Id }, userToReturn)); }
public async Task <IActionResult> Register([FromBody] UserForRegisterViewModel register) { CustomerValidator customerValidator = new CustomerValidator(); ValidationResult resultt = customerValidator.Validate(register); if (!resultt.IsValid) { return(BadRequest(resultt.Errors)); } try { if (ModelState.IsValid) { var user = new User { Email = register.Email, UserName = register.Email, }; var isPrimaryEmailExist = await _userManager.FindByEmailAsync(user.Email); if (isPrimaryEmailExist != null) { return(BadRequest(register.ToResponse())); } IdentityResult result = await _userManager.CreateAsync(user, register.Password); if (result.Succeeded) { var appuser = await _userManager.Users.FirstOrDefaultAsync(x => x.UserName == user.UserName); await AssignedMemberRoleRole(appuser); await AssignedUserClaim(appuser); return(Ok(register.ToResponse())); } return(BadRequest(register.ToResponse())); } } catch (Exception e) { if (e is ApplicationException) { return(BadRequest(register.ToResponse())); } } return(BadRequest(register.ToResponse())); }
public async Task <IActionResult> Register(UserForRegisterViewModel userForRegisterViewModel) { userForRegisterViewModel.Username = userForRegisterViewModel.Username.ToLower(); if (await _repo.UserExists(userForRegisterViewModel.Username)) { return(BadRequest("Username already exists")); } var userToCreate = new User() { Username = userForRegisterViewModel.Username, }; var createdUser = await _repo.Register(userToCreate, userForRegisterViewModel.Password); return(StatusCode(201)); }
public async Task <IActionResult> Register(UserForRegisterViewModel userForRegisterViewModel) { // check username is unique string username = userForRegisterViewModel.Username.ToLower().Trim(); if (await _authRepository.UserExists(username)) { return(BadRequest("Username already exists")); } User userToCreate = new User() { Username = username }; User createdUser = await _authRepository.Register(userToCreate, userForRegisterViewModel.Password); return(StatusCode(201)); }
[HttpPost("register")] //<host>/api/auth/register public async Task <IActionResult> Register([FromBody] UserForRegisterViewModel userForRegister) { // validate request if (!ModelState.IsValid) { return(BadRequest(ModelState)); } userForRegister.Username = userForRegister.Username.ToLower(); //Convert username to lower case before storing in database. if (await _authService.UserExists(userForRegister.Username)) { return(BadRequest(_errorLocalizer["UserExists"].Value)); } await _authService.Register(userForRegister); return(StatusCode(201)); }
//Register([FromBody] string username, string password ), but we can use ViewModel to Viewing the properties which we want. public async Task <IActionResult> Register([FromBody] UserForRegisterViewModel userForRegisterVM) { //If we using that ApiController, we don't need to use model state validation or [FromBody] if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //<Destination>(Source) var userToCreate = _mapper.Map <User>(userForRegisterVM); var result = await _userManager.CreateAsync(userToCreate, userForRegisterVM.Password); var userToReturn = _mapper.Map <UserForDetailedViewModel>(userToCreate); if (result.Succeeded) { return(CreatedAtRoute("GetUser", new { Controller = "Users", id = userToCreate.Id }, userToReturn)); } return(BadRequest(result.Errors)); }
public async Task <IActionResult> Register(UserForRegisterViewModel userForRegisterViewModel) { try { if (ModelState.IsValid) { byte[] passwordHash, passwordSalt; CreatePasswordHash(userForRegisterViewModel.Password, out passwordHash, out passwordSalt); var userToCreate = new User { UserName = userForRegisterViewModel.UserName.ToLower(), PasswordHash = passwordHash, PasswordSalt = passwordSalt, Email = userForRegisterViewModel.Email.ToLower() }; await _uow.Users.AddAsync(userToCreate); var result = await _uow.SaveAsync(); if (result > 0) { TempData["Message"] = "Registered Successfully"; TempData["Status"] = "success"; } } } catch (Exception ex) { _logger.LogError(ex.Message, ex.StackTrace); TempData["Message"] = "Failed to register"; TempData["Status"] = "danger"; } return(RedirectToAction(nameof(Register))); }
public async Task <IActionResult> Post([FromBody] UserForRegisterViewModel userForRegister) { var tokenHandler = new JwtSecurityTokenHandler(); var user = new User { Email = userForRegister.Email, Password = userForRegister.Password, Name = userForRegister.Name, Surname = userForRegister.Surname, }; try { var isReg = _auth.Register(user, user.Password, userForRegister.RoleName); if (isReg == "") { throw new Exception(); } } catch (Exception) { return(StatusCode(500)); } var token = _auth.Login(user.Email, user.Password); string roleName = token.Role.Name; Guid userId = token.UserID; string name = token.Name; //return Ok(new //{ // token = tokenHandler.WriteToken(token) //}); return(Ok(jwtHandler.Create(userId, roleName, name))); }
public async Task <IActionResult> Register(UserForRegisterViewModel userForRegister) { userForRegister.UserName = userForRegister.UserName.ToLower(); var userToCreate = _mapper.Map <User>(userForRegister); userToCreate.Id = Guid.NewGuid().ToString(); userToCreate.TableName = await _singleton.userRepository.GetUserOrdersTableOnRegister(userToCreate.Id); var result = await _userManager.CreateAsync(userToCreate, userForRegister.Password); var userToReurn = _mapper.Map <UserForListDto>(userToCreate); string tblName = string.Empty; if (result.Succeeded) { ///await _singleton.userRepository.CreateUserOrdersTable(userToCreate.Id); var resultRole = _userManager.AddToRoleAsync(userToCreate, "User").Result; //await signInManager.SignInAsync(user, isPersistent: false); return(StatusCode(201)); } return(BadRequest("User already exists")); }