Esempio n. 1
0
 public SimpleTypePrivilegeImpl(bool?create, bool?read, bool?update, bool?delete, bool?execute,
                                ITypePropertyPrivilege defaultPropertyPrivileges) : base(create, read, update, delete, execute, null, null)
 {
     this.create  = create;
     this.read    = read;
     this.update  = update;
     this.delete  = delete;
     this.execute = execute;
     this.defaultPropertyPrivileges = defaultPropertyPrivileges;
 }
Esempio n. 2
0
 public DefaultTypePrivilegeSimpleImpl(bool?create, bool?read, bool?update, bool?delete, bool?execute,
                                       ITypePropertyPrivilege propertyPrivilege)
     : base(create, read, update, delete, execute, null, null)
 {
     this.create            = create;
     this.read              = read;
     this.update            = update;
     this.delete            = delete;
     this.execute           = execute;
     this.propertyPrivilege = propertyPrivilege;
 }
Esempio n. 3
0
        protected ITypePrivilege CreateTypePrivilegeFromServiceResult(Type entityType, ITypePrivilegeOfService privilegeOfService)
        {
            ITypePropertyPrivilegeOfService[] propertyPrivilegesOfService = privilegeOfService.PropertyPrivileges;

            ITypePropertyPrivilege defaultPropertyPrivilege = TypePropertyPrivilegeImpl.CreateFrom(privilegeOfService);

            if (propertyPrivilegesOfService == null || propertyPrivilegesOfService.Length == 0)
            {
                return(new SimpleTypePrivilegeImpl(privilegeOfService.CreateAllowed, privilegeOfService.ReadAllowed, privilegeOfService.UpdateAllowed,
                                                   privilegeOfService.DeleteAllowed, privilegeOfService.ExecuteAllowed, defaultPropertyPrivilege));
            }
            String[]        propertyPrivilegeNames = privilegeOfService.PropertyPrivilegeNames;
            IEntityMetaData metaData = EntityMetaDataProvider.GetMetaData(entityType);

            ITypePropertyPrivilege[] primitivePropertyPrivileges = new ITypePropertyPrivilege[metaData.PrimitiveMembers.Length];
            ITypePropertyPrivilege[] relationPropertyPrivileges  = new ITypePropertyPrivilege[metaData.RelationMembers.Length];
            for (int a = primitivePropertyPrivileges.Length; a-- > 0;)
            {
                primitivePropertyPrivileges[a] = defaultPropertyPrivilege;
            }
            for (int a = relationPropertyPrivileges.Length; a-- > 0;)
            {
                relationPropertyPrivileges[a] = defaultPropertyPrivilege;
            }
            for (int b = propertyPrivilegesOfService.Length; b-- > 0;)
            {
                ITypePropertyPrivilegeOfService propertyPrivilegeOfService = propertyPrivilegesOfService[b];
                String propertyName = InterningFeature.Intern(propertyPrivilegeNames[b]);
                ITypePropertyPrivilege propertyPrivilege;
                if (propertyPrivilegeOfService != null)
                {
                    propertyPrivilege = TypePropertyPrivilegeImpl.Create(propertyPrivilegeOfService.CreateAllowed, propertyPrivilegeOfService.ReadAllowed,
                                                                         propertyPrivilegeOfService.UpdateAllowed, propertyPrivilegeOfService.DeleteAllowed);
                }
                else
                {
                    propertyPrivilege = TypePropertyPrivilegeImpl.Create(null, null, null, null);
                }
                if (metaData.IsRelationMember(propertyName))
                {
                    relationPropertyPrivileges[metaData.GetIndexByRelationName(propertyName)] = propertyPrivilege;
                }
                if (metaData.IsPrimitiveMember(propertyName))
                {
                    primitivePropertyPrivileges[metaData.GetIndexByPrimitiveName(propertyName)] = propertyPrivilege;
                }
            }
            return(EntityTypePrivilegeFactoryProvider.GetEntityTypePrivilegeFactory(metaData.EntityType, privilegeOfService.CreateAllowed,
                                                                                    privilegeOfService.ReadAllowed, privilegeOfService.UpdateAllowed, privilegeOfService.DeleteAllowed,
                                                                                    privilegeOfService.ExecuteAllowed).CreatePrivilege(privilegeOfService.CreateAllowed, privilegeOfService.ReadAllowed,
                                                                                                                                       privilegeOfService.UpdateAllowed, privilegeOfService.DeleteAllowed, privilegeOfService.ExecuteAllowed, primitivePropertyPrivileges,
                                                                                                                                       relationPropertyPrivileges));
        }