public async Task <IActionResult> Create(CreateEmployerViewModel model) { var user1 = _userManager.GetUserName(User); var user = new ApplicationUser() { Email = HttpContext.User.Identity.Name }; var user2 = new ApplicationUser() { UserName = user1, Email = user1 }; var u = user; var u2 = user2; var newEmployer = new Search_Work.Models.ArreaDatabase.Employer(); newEmployer.Id = Guid.NewGuid(); newEmployer.AccountUser = user; //Create Role // await _userManager.AddToRoleAsync(u, "Employer"); await _userManager.AddToRoleAsync(u2, "Employer"); // await _userManager.AddToRoleAsync(user, "Employer"); db.Employers.Add(newEmployer); await db.SaveChangesAsync(); return(RedirectToAction(nameof(PageIsExistCompany), new { empId = newEmployer.Id })); }
public async Task <IActionResult> Create(CreateEmployerViewModel model) { if (!(await _roleManager.RoleExistsAsync("Employer"))) { await _roleManager.CreateAsync(new IdentityRole("Employer")); } var employer = new User { UserName = model.Username, Email = model.Email }; var result = await _userManager.CreateAsync(employer, model.Password); if (!result.Succeeded) { return(BadRequest(result)); } //Send Email var token = await _userManager.GenerateEmailConfirmationTokenAsync(employer); var confirmEmailUrl = Request.Headers["confirmEmailUrl"];//http://localhost:4200/email-confirm var uriBuilder = new UriBuilder(confirmEmailUrl); var query = HttpUtility.ParseQueryString(uriBuilder.Query); query["token"] = token; query["userid"] = employer.Id; uriBuilder.Query = query.ToString(); var urlString = uriBuilder.ToString(); var emailBody = $"Please confirm your email by clicking on the link below </br>{urlString}"; await _email.Send(model.Email, emailBody, _emailOptions.Value); ////////////////// var userFromDb = await _userManager.FindByNameAsync(employer.UserName); await _userManager.AddToRoleAsync(userFromDb, "Employer"); return(Ok(result)); }
public IActionResult Create() { var model = new CreateEmployerViewModel(); return(View(model)); }