public async Task<IHttpActionResult> CreateUser(CreateUserViewModel user) { if (!ModelState.IsValid) { return BadRequest(ModelState); } DateTime now = DateTime.Now; ApplicationUser appUser = new ApplicationUser { DisplayName = user.DisplayName, Email = user.Email, PasswordPlaintext = user.PasswordPlaintext, DateCreated = now, LastModified = now, }; CreateUserResult result = await UserManager.CreateUserAsync(appUser); if (result.IsSuccess) { return Ok(); } return BadRequest(result.ErrorMessage); }
public async Task<CreateUserResult> CreateUserAsync(ApplicationUser user) { int? id = 0; string error = null; using (SqlConnection connection = new SqlConnection(ConnectionString)) { int existingId = await connection.ExecuteScalarAsync<int>("SELECT COUNT(*) FROM dbo.Users WHERE Email=@Email", new {Email = user.Email}); if (existingId == 0) { id = await connection.InsertAsync(user); } else { error = "Email address already exists."; } } if (id > 0) { return new CreateUserResult {IsSuccess = true}; } return new CreateUserResult {IsSuccess = false, ErrorMessage = error ?? "Error inserting user."}; }