public async Task <IActionResult> Register(ApplicationUserRegisterRequest model) { Response oR = new Response(); try { if (!ModelState.IsValid) { oR.Status = StatusCodes.Status400BadRequest; oR.Message = Messages.ValidationsFailed; oR.Data = GetModelErrors(ModelState); return(BadRequest(oR)); } if (await _service.ExistsUserName(model.UserName)) { oR.Status = StatusCodes.Status400BadRequest; oR.Message = "El nombre de usuario ya está en uso."; return(BadRequest(oR)); } if (await _service.ExistsEmail(model.Email)) { oR.Status = StatusCodes.Status400BadRequest; oR.Message = "El correo electronico ya está en uso."; return(BadRequest(oR)); } if (!await _service.Register(model)) { oR.Status = StatusCodes.Status500InternalServerError; oR.Message = Messages.InternalServerError; return(StatusCode(StatusCodes.Status500InternalServerError, oR)); } oR.Status = StatusCodes.Status200OK; return(Ok(oR)); } catch (Exception ex) { oR.Status = StatusCodes.Status500InternalServerError; oR.Message = Messages.InternalServerError; return(StatusCode(StatusCodes.Status500InternalServerError, oR)); } }
public async Task <bool> Register(ApplicationUserRegisterRequest model) { byte[] passwordHash, passwordSalt; var oUser = _mapper.Map <ApplicationUser>(model); CreatePasswordHashAndSalt(model.Password, out passwordHash, out passwordSalt); oUser.ApplicationUserStatusId = 1; oUser.CreatedDate = DateTime.Now; oUser.PasswordHash = passwordHash; oUser.PasswordSalt = passwordSalt; return(await _repository.Register(oUser)); }
public async Task <ActionResult <MessageResponse> > CreateUser(ApplicationUserRegisterRequest user) { try { if (_userRepository.GetUser(user.Username) != null) { return(new BadRequestObjectResult(new MessageResponse { Message = $"User {user.Username} already exists" })); } ApplicationUser registeredUser = new ApplicationUser { Salary = user.Salary, ProfilePicture = _applicationService.StoreUploadedImage(user.ProfilePicture), Address = user.Address, Country = user.Country, DateOfBirth = user.DateOfBirth, DisplayName = user.DisplayName, Email = user.Email, UserName = user.Username }; await _userManager.CreateAsync(registeredUser, user.Password); if (_configuration.GetValue <bool?>("signInUserOnregister") != null && _configuration.GetValue <bool?>("signInUserOnregister").Value) { await _signInManager.SignInAsync(registeredUser, isPersistent : false); } return(new CreatedResult($"/usernames{user.Username}", registeredUser)); } catch (Exception e) { _logger.LogError(e, e.Message); return(new BadRequestObjectResult(_applicationService.GetExceptionMessage(e))); } }
public async Task <ActionResult <MessageResponse> > CreateUser([FromBody] ApplicationUserRegisterRequest request) { _logger.LogInformation($"Creating new user {request.Username}"); return(await _userService.CreateUser(request)); }