public async Task <IActionResult> PostRole([FromBody] IdentityRole role) { //creating the roles and seeding them to the database var roleExist = await RoleManager.RoleExistsAsync(role.ToString()); if (!roleExist) { roleResult = await RoleManager.CreateAsync(new IdentityRole(role.ToString())); } return(CreatedAtAction("GetRoles", new { id = role.Id }, roleResult)); }
public async Task <IActionResult> Register(RegisterViewModel registerVM, string role) { List <IdentityRole> allroles = _roleManager.Roles.ToList(); List <IdentityRole> roles = new List <IdentityRole>(); foreach (var item in allroles) { if (item.Name != "Admin") { roles.Add(item); } } ViewBag.allRoles = new SelectList(roles, "Id", "Name"); if (!ModelState.IsValid) { return(View()); } AppUser newUser = new AppUser { UserName = registerVM.UserName, Email = registerVM.Email, PhoneNumber = registerVM.Phone }; IdentityResult identityResult = await _userManager.CreateAsync(newUser, registerVM.Password); if (!identityResult.Succeeded) { foreach (var error in identityResult.Errors) { ModelState.AddModelError("", error.Description); } return(View(registerVM)); } IdentityRole dbRole = await _roleManager.FindByIdAsync(role); await _userManager.AddToRoleAsync(newUser, dbRole.Name); await _signInManager.SignInAsync(newUser, true); if (dbRole.ToString() == "User") { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("VendorCreate", "Account")); } }
public async Task Creating_same_role_twice_returns_DuplicateRoleName_error() { // arrange var role = new IdentityRole("Creating_same_role_twice_returns_DuplicateRoleName_error"); // act var result1 = await _roleStore.CreateAsync(role); role.Name = "a different name, but same Id"; var result2 = await _roleStore.CreateAsync(role); // assert IdentityResultAssert.IsSuccess(result1); var expectedError = IdentityResult.Failed(_errorDescriber.DuplicateRoleName(role.ToString())); IdentityResultAssert.IsFailure(result2, expectedError.Errors.FirstOrDefault()); }
public async Task Updating_role_name_to_existing_name_returns_DuplicateRoleName_error() { // arrange var role1 = new IdentityRole("Updating_role_name_to_existing_name_returns_DuplicateRoleName_error"); var role2 = new IdentityRole("Updating_role_name_to_existing_name_returns_DuplicateRoleName_error different"); await _roleStore.CreateAsync(role1); await _roleStore.CreateAsync(role2); // act role2.Name = role1.Name; var result3 = await _roleStore.UpdateAsync(role2); // assert var expectedError = IdentityResult.Failed(_errorDescriber.DuplicateRoleName(role2.ToString())); IdentityResultAssert.IsFailure(result3, expectedError.Errors.FirstOrDefault()); }
public async Task Creating_two_different_roles_but_same_Name_returns_DuplicateRoleName_error() { // arrange var role1 = new IdentityRole("Creating_two_different_roles_but_same_Name_returns_DuplicateRoleName_error"); var role2 = new IdentityRole(role1.Name); // act var result1 = await _roleStore.CreateAsync(role1); var result2 = await _roleStore.CreateAsync(role2); // assert IdentityResultAssert.IsSuccess(result1); var expectedError = IdentityResult.Failed(_errorDescriber.DuplicateRoleName(role2.ToString())); IdentityResultAssert.IsFailure(result2, expectedError.Errors.FirstOrDefault()); }
public async Task Updating_role_name_to_existing_name_returns_DuplicateRoleName_error() { // arrange var role1 = new IdentityRole("Updating_role_name_to_existing_name_returns_DuplicateRoleName_error"); var role2 = new IdentityRole("Updating_role_name_to_existing_name_returns_DuplicateRoleName_error different"); await _roleStore.CreateAsync(role1); await _roleStore.CreateAsync(role2); // act role2.Name = role1.Name; var result3= await _roleStore.UpdateAsync(role2); // assert var expectedError = IdentityResult.Failed(_errorDescriber.DuplicateRoleName(role2.ToString())); IdentityResultAssert.IsFailure(result3, expectedError.Errors.FirstOrDefault()); }
public async Task Creating_two_different_roles_with_same_Name_different_casing_returns_DuplicateRoleName_error() { // arrange var role1 = new IdentityRole("Creating_two_different_roles_with_same_Name_different_casing_returns_DuplicateRoleName_error"); var role2 = new IdentityRole(role1.Name.ToUpper()); // act var result1 = await _roleStore.CreateAsync(role1); var result2 = await _roleStore.CreateAsync(role2); // assert IdentityResultAssert.IsSuccess(result1); var expectedError = IdentityResult.Failed(_errorDescriber.DuplicateRoleName(role2.ToString())); IdentityResultAssert.IsFailure(result2, expectedError.Errors.FirstOrDefault()); }
public async Task <IActionResult> Register(RegisterVM registerVM, string role) { List <IdentityRole> allroles = _roleManager.Roles.ToList(); List <IdentityRole> roles = new List <IdentityRole>(); foreach (var item in allroles) { if (item.Name != "Admin") { roles.Add(item); } } ViewBag.allRoles = new SelectList(roles, "Id", "Name"); if (!ModelState.IsValid) { return(View()); } AppUser newUser = new AppUser { FullName = registerVM.Fullname, UserName = registerVM.Username, Email = registerVM.Email, }; IdentityResult identityResult = await _userManager.CreateAsync(newUser, registerVM.Password); if (!identityResult.Succeeded) { foreach (var error in identityResult.Errors) { ModelState.AddModelError("", error.Description); } return(View(registerVM)); } newUser.isActivated = true; IdentityRole dbRole = await _roleManager.FindByIdAsync(role); //await _userManager.AddToRoleAsync(newUser, Helper.Role.Admin.ToString()); //await _userManager.AddToRoleAsync(newUser, "Employer"); //await _userManager.AddToRoleAsync(newUser, "Employe await _userManager.AddToRoleAsync(newUser, dbRole.Name); //var code = await _userManager.GenerateEmailConfirmationTokenAsync(newUser); //var href = Url.Action("ConfirmEmail", "Account", new { userId = newUser.Id, code = code }, protocol: Request.Scheme); //EmailServices emailService = new EmailServices(); //await emailService.SendEmailAsync(newUser.Email, //"Confirm your Account", $"Qeydiyyati tamamlamaq ucun linkden kecid edin <a href='{href}'>click link</a>"); await _signInManager.SignInAsync(newUser, true); if (dbRole.ToString() == "Employee") { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Create", "Employer")); } }