public async Task <IActionResult> Register() { ViewBag.Message = TempData["Message"]; TempData["Message"] = ""; var model = new SecretaryRegistrationViewModel(); return(View(model)); }
public async Task <IActionResult> Register(SecretaryRegistrationViewModel model) { var optionsBuilder = new DbContextOptionsBuilder <AppDbContext>(); var unitOfWork = new UnitOfWork(new AppDbContext(optionsBuilder.Options)); if (ModelState.IsValid) { var user = new ApplicationUser { FirstName = model.FirstName, LastName = model.FirstName, Email = model.Email, PhoneNumber = model.PhoneNumber, UserName = model.Email, SerialNumber = model.SerialNumber }; var result = await userManager.CreateAsync(user, "Fantabamba25?!1_"); if (!result.Succeeded) { ViewBag.Error = $"Une erreur est survenue durant l'inscription de l'enseignant {model.FirstName} {model.LastName}!"; return(View(model)); } if ((await roleManager.RoleExistsAsync("Secretary")) == false) { var role = new IdentityRole(); role.Name = "Secretary"; var result1 = await roleManager.CreateAsync(role); if (!result1.Succeeded) { ViewBag.Error = $"Une erreur est survenue durant la creation du role secrétaire!"; return(View(model)); } } var result2 = await userManager.AddToRoleAsync(user, "Secretary"); if (!result2.Succeeded) { ViewBag.Error = $"Impossible d'ajouter l'utilisateur {user.FirstName} {user.LastName} au role Secrétaire"; return(View(model)); } } else { return(View(model)); } ViewBag.Message = $"Secretaire enregistrer avec succès!"; return(View(model)); }