public async Task <Api.Domain.User> CreateUser(UserForCreation user) { using (MySqlConnection connection = new MySqlConnection(await _connectionInfo.GetConnectionStringAsync())) { await connection.OpenAsync().ConfigureAwait(false); MySqlCommand command = new MySqlCommand(UserDaoResources.InsertUser, connection); command.Parameters.AddWithValue("firstname", user.FirstName); command.Parameters.AddWithValue("lastname", user.LastName); command.Parameters.AddWithValue("email", user.Email); command.Parameters.AddWithValue("global_admin", user.IsAdmin); command.Prepare(); ulong userId = (ulong)await command.ExecuteScalarAsync(); Api.Domain.User newUser = new Api.Domain.User( (int)userId, user.FirstName, user.LastName, user.Email, user.IsAdmin ? RoleType.Admin : RoleType.Standard); connection.Close(); return(newUser); } }
public async Task <IActionResult> Post(UserForCreation user) { var entity = mapper.Map <User>(user); userRepository.AddUser(entity); await userRepository.SaveChangesAsync(); var userReturn = mapper.Map <User, UserDTO>(entity); return(CreatedAtRoute("GetAuthor", new { id = userReturn.Id }, userReturn)); }
public async Task <IActionResult> AddUser([FromBody] UserForCreation user) { ValidationResult validationResult = _userForCreationValidator.Validate(user); if (!validationResult.IsValid) { string email = User.FindFirst(_ => _.Type == ClaimTypes.Email)?.Value; _log.LogWarning($"User {email} made bad request: {validationResult.GetErrorString()}"); return(BadRequest(new ErrorResponse(validationResult.GetErrorString()))); } User newUser = await _userDao.CreateUser(user); return(CreatedAtRoute(nameof(GetUser), new { id = newUser.Id }, newUser)); }
public async Task <IActionResult> Register(UserForCreation userForCreationDto) { var userToCreate = _mapper.Map <User> (userForCreationDto); var result = await _userManager.CreateAsync(userToCreate, userForCreationDto.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(userToCreate, "Customer"); await sendConfirmMessage(userToCreate.Id.ToString()); return(Ok()); } return(BadRequest(result.Errors)); }
public async Task CreateUserCorrectlyInsertsUser() { UserForCreation userForCreation = new UserForCreation { FirstName = FirstName1, LastName = LastName1, Email = Email1 }; Api.Domain.User user = await _userDao.CreateUser(userForCreation); List <Api.Domain.User> users = TestHelpers.GetAllUsers(ConnectionString); Assert.That(users.Count, Is.EqualTo(1)); Assert.That(user, Is.EqualTo(users[0])); }
public ActionResult CreateUser([FromBody] UserForCreation dto) { if (dto.Username == null || dto.Password == null) { Console.WriteLine("am I here?"); return(BadRequest(new { message = "Please fill out all fields." })); } if (_userRepository.GetUserByUsername(dto.Username) != null) { return(BadRequest(new { message = "Username is already taken. Please choose another username." })); } var salt = PasswordService.GenerateSalt(_size); var pwd = PasswordService.HashPassword(dto.Password, salt, _size); _userRepository.CreateUser(dto.Username, pwd, salt); return(CreatedAtRoute(null, new { username = dto.Username })); }
public async Task Test(UserForCreation user, bool isValid) { ValidationResult validationResult = await _userForCreationValidator.ValidateAsync(user); Assert.That(validationResult.IsValid, Is.EqualTo(isValid)); }