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())); }
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 })); }
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()); }