public async Task <IActionResult> OnPostAddMentorAsync() { Console.WriteLine("The Email is: " + RegisterViewModel.Username); if (ModelState.IsValid) { try { var profile = new Profile { FirstName = RegisterViewModel.FirstName, LastName = RegisterViewModel.LastName, }; //TODO: include language var userAcc = new MentorAccount { UserName = RegisterViewModel.Username, Email = RegisterViewModel.Username, PhoneNumber = RegisterViewModel.Phone, SIN = RegisterViewModel.SIN, Profile = profile }; var result = await _userManager.CreateAsync(userAcc); //await _userManager.CreateAsync(userAcc, RegisterViewModel.Password); if (result.Succeeded) { /// IEmailSender neeeded System.Console.WriteLine("New Account Created"); var code = await _userManager.GeneratePasswordResetTokenAsync(userAcc); //_userManager.GenerateEmailConfirmationTokenAsync(userAcc); var callbackUrl = Url.Page( "/Account/ResetPassword", pageHandler: null, values: new { userId = userAcc.Id, code = code }, protocol: Request.Scheme); await _emailsender.SendEmailAsync(RegisterViewModel.Username, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } catch (System.Exception) { System.Console.WriteLine("Add mentor not working!"); } } System.Console.WriteLine("Unable to Add User..."); return(Page()); }
public async Task <IActionResult> CreateMentors() { var mentors = new List <string> { /* * "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" */ "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" }; if (_userManager.Users.Where(u => u.AccountType == Account.Mentor).Count() == 0) { foreach (var m in mentors) { //Populate mentors var prf = new Profile { FirstName = "tester", LastName = "tester" }; var mentor = new MentorAccount { Profile = prf, Email = m, UserName = m, }; var result = await _userManager.CreateAsync(mentor, "Passw0rd!"); if (result.Succeeded) { var newuser = await _userManager.FindByEmailAsync(m); var claimres = await _userManager.AddClaimAsync(newuser, new Claim ("Account", "Mentor")); } } return(Ok("Newly Added!")); } return(Ok("Already Polulated!")); }
public async Task <IActionResult> Register([FromBody] RegisterModel model) { if (ModelState.IsValid) { var prf = new Profile { FirstName = model.FirstName, LastName = model.LastName }; var user = new MentorAccount { UserName = model.UserName, Email = model.UserName, Profile = prf }; var result = await _userManager.CreateAsync(user); if (result.Succeeded) { var code = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackUrl = Url.Page( "/Account/ResetPassword", pageHandler: null, values: new { userId = user.Id, code = code }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(model.UserName, "Confirm your email", $"Please confirm your account and Create a Password by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); var newuser = await _userManager.FindByEmailAsync(model.UserName); var claimres = await _userManager.AddClaimAsync(newuser, new Claim("Account", "Mentor")); return(Ok("Add Mentor Success")); } } return(BadRequest("Unable to Process Registration...")); }