public static void SetValue(this SecurityTypePermission operationPermission, ISecurityTypePermission permission) {
     operationPermission.Operations = permission.Operations;
     operationPermission.OperationState = permission.OperationState;
     CriteriaSerializer criteriaSerializer = new CriteriaSerializer();
     // TODO: more checks are needed...
     operationPermission.Type = ((ParameterExpression)criteriaSerializer.Deserialize(permission.StringType)).Type;
 }
        public virtual ITypePermission SetTypePermission(Type type, SecurityOperation operation, OperationState state)
        {
            SecurityTypePermission typePermission = FindFirstTypePermission(this, type);

            if (typePermission == null)
            {
                typePermission = new SecurityTypePermission()
                {
                    Type = type
                };
                this.TypePermissions.Add(typePermission);
            }
            typePermission.Operations     = operation;
            typePermission.OperationState = state;
            return(typePermission);
        }
 public static SecurityTypePermission CreateRolePermission(this ISecurityTypePermission permission) {
     SecurityTypePermission securityOperationPermission = new SecurityTypePermission();
     securityOperationPermission.SetValue(permission);
     return securityOperationPermission;
 }
 public static void SetValue(this SecurityTypePermission operationPermission, ITypePermission permission) {
     operationPermission.Operations = permission.Operations;
     operationPermission.OperationState = permission.OperationState;
     operationPermission.Type = permission.Type;
 }