public async Task<IHttpActionResult> CreateUser(CreateUserBindingModel createUserModel)
        {
           
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
           
            var user = new ApplicationUser()
            {                
                Email = createUserModel.Email,
                FullName = createUserModel.FullName,
                EmailConfirmed = true
            };
           
            IdentityResult addUserResult = await this.AppUserManager.CreateAsync(user, createUserModel.Password);
            return Ok(user);
            if (!addUserResult.Succeeded)
            {
                return GetErrorResult(addUserResult);
            }

            //string code = await this.AppUserManager.GenerateEmailConfirmationTokenAsync(user.Id);

            //var callbackUrl = new Uri(Url.Link("ConfirmEmailRoute", new { userId = user.Id, code = code }));

            //IdentityResult result = await this.AppUserManager.ConfirmEmailAsync(user.Id, code);
            
            Uri locationHeader = new Uri(Url.Link("GetUserById", new { id = user.Id }));

            return Created(locationHeader, TheModelFactory.Create(user));
           // return Ok();
        }
 public UserReturnModel Create(ApplicationUser appUser)
 {
     return new UserReturnModel
     {
         Url = _UrlHelper.Link("GetUserById", new { id = appUser.Id }),
         Id = appUser.Id,
         UserName = appUser.UserName,
         FullName = string.Format("{0}", appUser.FullName),
         Email = appUser.Email,
         EmailConfirmed = appUser.EmailConfirmed,
         Roles = _AppUserManager.GetRolesAsync(appUser.Id).Result,
         Claims = _AppUserManager.GetClaimsAsync(appUser.Id).Result
     };
 }