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);
        }
Пример #2
0
        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);
        }