예제 #1
0
        public IActionResult Add([FromRoute] string roleId, [FromBody] AddRolePermissionRequest addGroupRolePermission)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Result result = _groupRolePermissionService.Add(roleId, addGroupRolePermission);

            if (result.Failure)
            {
                ModelState.AddErrors(result);
                return(BadRequest(ModelState));
            }

            return(Ok(new EmptyResult()));
        }
예제 #2
0
        public IHttpActionResult AddRolePermission(AddRolePermissionRequest request)
        {
            request.ValidateNotNull();
            int userTenantId = (int)ActionContext.Request.Properties["UserTenantId"];

            RolePermissionDomain rolePermissionDomain = new RolePermissionDomain()
            {
                IsActive     = request.IsActive,
                TenantId     = userTenantId,
                PermissionId = request.PermissionId,
                RoleId       = request.RoleId
            };

            return(Ok(new AddRolePermissionResponse()
            {
                Data = _rolePermissionManipulation.AddRolePermission(rolePermissionDomain),
                Success = Common.Enumerations.ResponseStatus.Succeeded
            }));
        }
예제 #3
0
        public Result Add(string roleId, AddRolePermissionRequest addRolePermission)
        {
            ValidationResult validationResult = _addRolePermissionValidator.Validate(addRolePermission);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(addRolePermission)} model");
                return(Result.Fail(validationResult.Errors));
            }

            BaseSpecification <RoleEntity> roleExistSpecification = new BaseSpecification <RoleEntity>();

            roleExistSpecification.AddFilter(x => x.Id == roleId);

            bool roleExist = _roleRepository.Exist(roleExistSpecification);

            if (!roleExist)
            {
                _logger.LogError($"No Role. RoleId {roleId}");
                return(Result.Fail("no_role", "No Role"));
            }

            BaseSpecification <PermissionEntity> permissionExistSpecification = new BaseSpecification <PermissionEntity>();

            permissionExistSpecification.AddFilter(x => x.Id == addRolePermission.PermissionId);

            bool groupRoleExist = _permissionRepository.Exist(permissionExistSpecification);

            if (!groupRoleExist)
            {
                _logger.LogError($"No Permission. PermissionId {addRolePermission.PermissionId}");
                return(Result.Fail("no_group_role", "No GroupRole"));
            }

            BaseSpecification <PermissionRoleEntity> permissionRoleExistSpecification = new BaseSpecification <PermissionRoleEntity>();

            permissionRoleExistSpecification.AddFilter(x => x.RoleId == roleId);
            permissionRoleExistSpecification.AddFilter(x => x.PermissionId == addRolePermission.PermissionId);

            bool groupRoleIntermediateExist = _permissionRoleRepository.Exist(permissionRoleExistSpecification);

            if (groupRoleIntermediateExist)
            {
                _logger.LogError($"PermissionRole already exist.");
                return(Result.Fail("permission_role_already_exist", "Permission Role already exist"));
            }

            PermissionRoleEntity permissionRole = new PermissionRoleEntity(
                roleId: roleId,
                permissionId: addRolePermission.PermissionId);

            bool addResult = _permissionRoleRepository.Add(permissionRole);

            if (!addResult)
            {
                _logger.LogError($"Failed to add PermissionRole. RoleId {roleId}, PermissionId {addRolePermission.PermissionId}");
                return(Result.Fail("failed_to_add_permission_role", "Failed to add Permission Role"));
            }

            return(Result.Ok());
        }