示例#1
0
        private int GetDynamicParameterId(EntityDynamicParameterValue entityDynamicParameterValue)
        {
            if (entityDynamicParameterValue.EntityDynamicParameterId == default)
            {
                throw new ArgumentNullException(nameof(entityDynamicParameterValue.EntityDynamicParameterId));
            }

            if (entityDynamicParameterValue.EntityDynamicParameter != null)
            {
                return(entityDynamicParameterValue.EntityDynamicParameter.DynamicParameterId);
            }

            var entityDynamicParameter = _entityDynamicParameterManager.Get(entityDynamicParameterValue.EntityDynamicParameterId);

            return(_dynamicParameterManager.Get(entityDynamicParameter.DynamicParameterId).Id);
        }
        public void CheckPermission(int dynamicParameterId)
        {
            var dynamicParameter = _dynamicParameterManager.Get(dynamicParameterId);

            if (dynamicParameter == null)
            {
                throw new EntityNotFoundException(typeof(DynamicParameter), dynamicParameterId);
            }

            if (dynamicParameter.Permission.IsNullOrWhiteSpace())
            {
                return;
            }

            if (!_permissionChecker.IsGranted(dynamicParameter.Permission))
            {
                throw new Exception($"Permission \"{dynamicParameter.Permission}\" is not granted");
            }
        }