Esempio n. 1
0
        public async Task <IActionResult> CreateRole([FromBody] RoleViewModel role)
        {
            if (ModelState.IsValid)
            {
                if (role == null)
                {
                    return(BadRequest($"{nameof(role)} cannot be null"));
                }

                Role appRole = _mapper.Map <Role>(role);

                (bool Succeeded, string[] Errors)result = await _accountManager.CreateRoleAsync(appRole, role.Permissions?.Select(p => p.Value).ToArray());

                if (result.Succeeded)
                {
                    RoleViewModel roleVM = await GetRoleViewModelHelper(appRole.Name);

                    return(CreatedAtAction(GetRoleByIdActionName, new { id = roleVM.Id }, roleVM));
                }

                AddError(result.Errors);
            }

            return(BadRequest(ModelState));
        }
Esempio n. 2
0
        private async Task EnsureRoleAsync(IIdentityManager accountManager, string roleName, string description, string[] claims)
        {
            if ((await accountManager.GetRoleByNameAsync(roleName)) == null)
            {
                Role applicationRole = new Role(roleName, description);

                (bool Succeeded, string[] Errors) = await accountManager.CreateRoleAsync(applicationRole, claims);

                if (!Succeeded)
                {
                    throw new Exception($"Seeding \"{description}\" role failed. Errors: {string.Join(Environment.NewLine, Errors)}");
                }
            }
        }
        public async Task <ActionResult> AddRole(RoleViewModel roleViewModel)
        {
            int  userId      = User.Identity.GetUserId <int>();
            bool isRoleAdded = await _identityManager.CreateRoleAsync(roleViewModel.Name, userId);

            if (isRoleAdded)
            {
                return(RedirectToAction(nameof(SearchRoles)));
            }
            else
            {
                return(View(roleViewModel));
            }
        }