public async Task <IHttpActionResult> Register(RegisterUserTO registerUserTO) { if (registerUserTO.Password != registerUserTO.ConfirmPassword) { return(BadRequest(UserENUM.DIFFERENT_PASSWORDS.ToString())); } if (await _authService.CheckIfUserExists(registerUserTO.UserName)) { return(BadRequest(UserENUM.USERNAME_ALREADY_TAKEN.ToString())); } bool emailExists = _authService.CheckIfEmailExists(registerUserTO.Email); if (emailExists) { return(BadRequest(UserENUM.EMAIL_ALREADY_TAKEN.ToString())); } bool result = await _authService.RegisterUser(registerUserTO); if (!result) { logger.Log(LogLevel.Error, "Unable to create user with name " + registerUserTO.UserName); return(BadRequest(UserENUM.UNABLE_REGISTER.ToString())); } logger.Log(LogLevel.Info, "User " + registerUserTO.UserName + " was created.\n"); return(StatusCode(HttpStatusCode.Created)); }
public async Task <bool> RegisterUser(RegisterUserTO registerUserTO) { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var userModel = new ApplicationUser { UserName = registerUserTO.UserName, Email = registerUserTO.Email }; var resultUserId = await _authRepository.RegisterUser(userModel, registerUserTO.Password); if (resultUserId != "") { scope.Complete(); ApplicationCache <UserInfoTO> .AddCacheItem(new UserInfoTO() { Id = resultUserId, UserName = registerUserTO.UserName, Email = registerUserTO.Email, Roles = new List <string>() }); return(true); } return(false); } }