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."};
        }