public async Task <IActionResult> OnPostAsync(string returnUrl = null) { try { returnUrl = returnUrl ?? Url.Content("~/"); UserCreationInput UserData = new UserCreationInput(); UserData.Email = Input.Email.ToString(); UserData.Password = Input.Password.ToString(); var result = await _authClient.AddNewUserAsync <User>(Input.Email, Input.Email, Input.Password); if (result.IsSuccessStatusCode) { User launchPadUser = new User { Id = result.User.Id, FirstName = Input.FirstName.ToString(), LastName = Input.LastName.ToString(), Email = UserData.Email, Username = UserData.Email }; var myresult = await _authClient.ExtendUserAsync(launchPadUser); return(LocalRedirect(returnUrl)); } else { ModelState.AddModelError(string.Empty, result.BOSErrors[0].Message); return(Page()); } } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Sorry something went wrong! Please contact Administrator."); return(Page()); } }
public async Task <User> AddNewUser(UserCreationInput newUser) { var payload = new { username = newUser.Username, password = newUser.Password, email = newUser.Email }; var response = await _httpClient.PostAsJsonAsync("Users?api-version=1.0", payload).ConfigureAwait(false); if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { throw new ArgumentException("Invalid Input"); } var user = JsonConvert.DeserializeObject <User>(response.Content.ReadAsStringAsync().Result); return(user); }