public ObjectTypeTree GetAttributes() { ObjectTypeTree ret = SchemaClass.ToObjectTypeTree(); ret.AddNodeRange(PropertySets.Select(c => c.ToObjectTypeTree())); ObjectTypeTree unclass = DirectoryServiceUtils.DefaultPropertySet.ToObjectTypeTree(); unclass.AddNodeRange(Attributes.Where(a => !a.InPropertySet).Select(a => a.ToObjectTypeTree())); ret.AddNode(unclass); return(ret); }
public ObjectTypeTree GetAttributes(IEnumerable <DsObjectInformation> dynamic_aux_classes) { ObjectTypeTree ret = SchemaClass.ToObjectTypeTree(); var prop_sets = dynamic_aux_classes.SelectMany(c => c.PropertySets).Concat(PropertySets).Distinct(new ExtendedRightsComparer()); ret.AddNodeRange(prop_sets.Select(c => c.ToObjectTypeTree())); ObjectTypeTree unclass = DirectoryServiceUtils.DefaultPropertySet.ToObjectTypeTree(); var attrs = dynamic_aux_classes.SelectMany(c => c.Attributes).Concat(Attributes).Distinct(new AttributeComparer()); unclass.AddNodeRange(attrs.Where(a => !a.InPropertySet).Select(a => a.ToObjectTypeTree())); if (unclass.Nodes.Count > 0) { ret.AddNode(unclass); } return(ret); }