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; }
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; }
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)); }