Beispiel #1
0
        public async Task <ApiResult <RoleForDto> > UpdateRole(RoleForDto roleDto)
        {
            using (_log.BeginScope())
            {
                _log.Write($"Update role {roleDto.Name}");

                var role = _mapper.Map <RoleForDto, Role>(roleDto);

                // check if there are user with this role before delete
                // if there is send message that role can't be deleted
                if (!roleDto.Active)
                {
                    if (await _roleBus.IsSafeToDeleteRole(role))
                    {
                        return(ApiResult <RoleForDto> .Forbidden("There are active users with this role. Please remove all users to delete role."));
                    }
                }

                await _roleBus.UpdateRole(role);

                _log.Write($"Successfully update role id {role.Id}");

                var roleDtoReturn = _mapper.Map <Role, RoleForDto>(role);

                return(ApiResult <RoleForDto> .Created(roleDtoReturn));
            }
        }
Beispiel #2
0
        public async Task <ApiResult <RoleForDto> > AddRole(RoleForDto roleDto)
        {
            using (_log.BeginScope())
            {
                _log.Write($"Adding new role {roleDto.Name}");

                var role = _mapper.Map <RoleForDto, Role>(roleDto);

                await _roleBus.AddRole(role);

                _log.Write($"Successfully added new role id {role.Id}");

                var roleDtoReturn = _mapper.Map <Role, RoleForDto>(role);

                return(ApiResult <RoleForDto> .Created(roleDtoReturn));
            }
        }
Beispiel #3
0
        public async Task <IActionResult> AddRole([FromBody] RoleForDto roleForDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var role = await _roleManager.FindByNameAsync(roleForDto.Name);

            if (role != null)
            {
                return(BadRequest($"{roleForDto.Name} role already exist!"));
            }
            //role = new IdentityRole(roleForDto.Name);
            var create     = _mapper.Map <IdentityRole>(roleForDto);
            var createRole = await _roleManager.CreateAsync(create);

            if (createRole.Succeeded)
            {
                return(Ok(new { roleName = roleForDto.Name, id = create.Id, message = "Role Created Successfully" }));
            }
            return(BadRequest("Failed to create"));
        }