public async Task <ActionResult <UserResponse> > PostUser(DTO.User input) { // Check if the user already exists var userExists = await _db.Users .Where(u => u.EmailAddress == input.EmailAddress) .FirstOrDefaultAsync(); if (userExists != null) { //Email Address already in use return(Conflict(input)); } var user = new Data.User { Name = input.Name, EmailAddress = input.EmailAddress, Role = input.Role, }; _db.Users.Add(user); await _db.SaveChangesAsync(); var result = user.MapUserResponse(); return(CreatedAtAction(nameof(GetUser), new { email = result.EmailAddress }, result)); }