public async Task <ActionResult> RegisterEmployer(AnonymousRegistrationEmployerVM model) { if (ModelState.IsValid) { var identityUser = new IdentityUser { UserName = model.LoginName, Email = model.EmailAdress }; var usr = await _userManager.FindByEmailAsync(model.EmailAdress); if (usr != null) { ModelState.AddModelError("", EMAILADDRESS_IS_IN_USE_ERROR); return(View(model)); } usr = await _userManager.FindByNameAsync(model.LoginName); if (usr != null) { ModelState.AddModelError("", USERNAME_IS_IN_USE_ERROR); return(View(model)); } var result = await _userManager.CreateAsync(identityUser, model.UserPassword); if (result.Succeeded) { await _userManager.AddToRoleAsync(identityUser.Id, "Employer"); var employer = new Employer { EmployerId = identityUser.Id, Adress = model.Adress, City = model.City, CompanyName = model.CompanyName, FirstName = model.FirstName, LastName = model.LastName, Prefix = model.Prefix, PostalCode = model.PostalCode, TelephoneNumber = model.TelephoneNumber }; await _employerManager.Create(employer); var alert = new Alert { AlertId = Guid.NewGuid(), EmployerId = identityUser.Id, AlertType = AlertType.Employer_Create, AlertCreateTS = DateTime.Now, AlertUpdateTS = DateTime.Now, UserId = identityUser.Id }; await _alertManager.CreateAsync(alert); await SendEmail(identityUser, new RegistrationMailMessageBuilder(model.LoginName)); await SignInAsync(identityUser, true); return(View("AccountConfirmation")); } } return(View(model)); }