internal static MultiValuedProperty <string> GetAllowedProperties(IConfigurationSession configSession, ExchangeResourceType?resourceType) { MultiValuedProperty <string> multiValuedProperty = new MultiValuedProperty <string>(); if (resourceType != null) { string text = resourceType.ToString() + '/'; ResourceBookingConfig resourceBookingConfig = configSession.Read <ResourceBookingConfig>(ResourceBookingConfig.GetWellKnownLocation(configSession.GetOrgContainerId())); foreach (string text2 in resourceBookingConfig.ResourcePropertySchema) { if (string.Compare(text, 0, text2, 0, text.Length, StringComparison.OrdinalIgnoreCase) == 0) { multiValuedProperty.Add(text2.Substring(text.Length)); } } } return(multiValuedProperty); }
internal static ADObjectId GetWellKnownLocation(ADObjectId orgContainerId) { ADObjectId relativePath = new ADObjectId("CN=Resource Schema"); return(ResourceBookingConfig.GetWellKnownParentLocation(orgContainerId).GetDescendantId(relativePath)); }