Beispiel #1
0
 protected void InitializeADObjectSchemaProperties()
 {
     this.AddShadowPropertiesToAllPropertiesList();
     this.InitializeAllPropertiesDictionary();
     this.InitializeFilterOnlyPropertiesDictionary();
     this.ldapAttributes = ADObjectSchema.ADPropertyCollectionToLdapAttributes(base.AllProperties, this.GetHashCode());
     this.InitializeADObjectLinkProperties();
 }
Beispiel #2
0
        internal override void InitializeSchema()
        {
            base.InitializeSchema();
            ADObjectSchema adobjectSchema = this.ObjectSchema as ADObjectSchema;

            if (adobjectSchema != null)
            {
                adobjectSchema.InitializeAutogeneratedConstraints();
            }
        }
Beispiel #3
0
        internal static string[] ADPropertyCollectionToLdapAttributes(IEnumerable <PropertyDefinition> schema, int id)
        {
            if (schema == null)
            {
                throw new ArgumentNullException("schema");
            }
            List <string> list = new List <string>();

            foreach (PropertyDefinition propertyDefinition in schema)
            {
                ADPropertyDefinition adpropertyDefinition = (ADPropertyDefinition)propertyDefinition;
                string ldapDisplayName = adpropertyDefinition.LdapDisplayName;
                ADObjectSchema.InternalAddSoftLinkAttribute(adpropertyDefinition, list, id);
                if (!string.IsNullOrEmpty(ldapDisplayName) && !adpropertyDefinition.IsCalculated && !list.Contains(ldapDisplayName))
                {
                    ExTraceGlobals.ADPropertyRequestTracer.TraceDebug <string>((long)id, "ADObjectSchema::ADPropertyCollectionToLdapAttributes: requesting {0}", ldapDisplayName);
                    list.Add(ldapDisplayName);
                }
                if (adpropertyDefinition.IsCalculated)
                {
                    string name = adpropertyDefinition.Name;
                    foreach (ProviderPropertyDefinition providerPropertyDefinition in adpropertyDefinition.SupportingProperties)
                    {
                        ADPropertyDefinition adpropertyDefinition2 = (ADPropertyDefinition)providerPropertyDefinition;
                        if (!adpropertyDefinition2.IsTaskPopulated)
                        {
                            ldapDisplayName = adpropertyDefinition2.LdapDisplayName;
                            if (!list.Contains(ldapDisplayName))
                            {
                                ExTraceGlobals.ADPropertyRequestTracer.TraceDebug <string, string>((long)id, "ADObjectSchema::ADPropertyCollectionToLdapAttributes: requesting supporting {0} for {1}", ldapDisplayName, name);
                                list.Add(ldapDisplayName);
                            }
                        }
                    }
                }
            }
            list.Add("lastKnownParent");
            list.Add("isDeleted");
            return(list.ToArray());
        }