public PermissionDtoContainer AddOperations(SecurityResourceDto resource, List <OperationDto> operationDtos) { PermissionDtoContainer responseContainer = new PermissionDtoContainer(); PermissionTDataAccess rtoDa = new PermissionTDataAccess(); List <PermissionDto> insertList = new List <PermissionDto>(); foreach (var operationDto in operationDtos) { var relations = rtoDa.GetSingle(it => it.ResourceId == resource.SecurityResourceId && it.OperationId == operationDto.OperationId); if (relations == null) { PermissionDto dto = new PermissionDto() { ResourceId = resource.SecurityResourceId, OperationId = operationDto.OperationId }; insertList.Add(dto); responseContainer.PermissionDtoList.Add(dto); } //else //{ // PermissionDto response = new PermissionDto(); // resource.SetIdentity(operationDto.Id); // response.Response.AddBusinessException("ارتباط قبلا تعریف شده است!", BusinessExceptionEnum.Operational); //} } if (insertList.Count > 0) { rtoDa.Insert(insertList); } return(responseContainer); }
public void GetAllPermissionTest() { PermissionTDataAccess da = new PermissionTDataAccess(); var result = da.GetCurrentUserPermissions(1); Assert.AreNotEqual(result.PermissionDtoList.Count, 0); }
public SecurityResourceDtoContainer MenuList(Common.Message.AuthorizationRequest request) { SecurityResourceDtoContainer container = new SecurityResourceDtoContainer(); TokenValidator tokenValidator = new TokenValidator(); PermissionTDataAccess permissionDa = new PermissionTDataAccess(); var validationResult = tokenValidator.ValiateIdentityToken(request.IdentityToken); if (validationResult.IsError) { container.Response.AddBusinessException(validationResult.Error, Framework.Common.Service.Message.BusinessExceptionEnum.Validation); return(container); } else { ResourceTDataAccess resource = new ResourceTDataAccess(); int userId = 0; int.TryParse(request.IdentityToken.SubjectId, out userId); var menuItemList = resource.GetMenuAccessList(request.AppDomainId, userId); // container.SecurityResourceDtoList.AddRange(menuItemList); foreach (var item in menuItemList) { permissionDa.AddResources(item, container.SecurityResourceDtoList); } // container.SecurityResourceDtoList.AddRange(submenuList); } return(container); }
public ResponseDto RemoveOperation(SecurityResourceDto resource, OperationDto operationDto) { ResponseDto response = new ResponseDto(); PermissionTDataAccess permissionDa = new PermissionTDataAccess(); var permission = permissionDa.GetSingle(it => it.ResourceId == resource.SecurityResourceId && it.OperationId == operationDto.OperationId); if (permission != null) { permissionDa.Delete(permission); } else { response.Response.AddBusinessException("این دسترسی تعریف نشده است!", BusinessExceptionEnum.Operational); } return(response); }
public PermissionDto AddOperation(SecurityResourceDto resource, OperationDto operationDto) { PermissionDto response = new PermissionDto(); PermissionTDataAccess rtoDa = new PermissionTDataAccess(); var relations = rtoDa.GetSingle(it => it.ResourceId == resource.SecurityResourceId && it.OperationId == operationDto.OperationId); if (relations == null) { response = new PermissionDto() { ResourceId = resource.SecurityResourceId, OperationId = operationDto.OperationId }; rtoDa.Insert(response); } else { response.Response.AddBusinessException("ارتباط قبلا تعریف شده است!", BusinessExceptionEnum.Operational); } return(response); }