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);
        }
Exemplo n.º 2
0
        public void GetAllPermissionTest()
        {
            PermissionTDataAccess da = new PermissionTDataAccess();
            var result = da.GetCurrentUserPermissions(1);

            Assert.AreNotEqual(result.PermissionDtoList.Count, 0);
        }
Exemplo n.º 3
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);
        }