public async Task<IActionResult> CreateRole(IndexAndCreateRole model) { model.RoleName = model.RoleName.Trim(); if (string.IsNullOrEmpty(model.RoleName)) { TempData["message"] = "Role Name cannot be empty"; return RedirectToAction("Index"); } var role = await roleManager.FindByIdAsync(model.RoleName); if (role != null) { TempData["message"] = "This role is existing already"; } else { try { IdentityRole newRole = new IdentityRole { Name = model.RoleName }; var result = await roleManager.CreateAsync(newRole); if (result.Succeeded) { TempData["message"] = $"Role added: {model.RoleName} "; return RedirectToAction("Index"); } else { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } } } catch (Exception ex) { TempData["message"] = ex.GetBaseException().Message; } } return RedirectToAction("Index"); }
public IActionResult Index() { var model = new IndexAndCreateRole(); model.RolesList = roleManager.Roles.OrderBy(a => a.Name).ToList(); return View(model); }