internal virtual IEnumerable <T> GetObjectsInOrganization <T>(string identityString, ADObjectId rootId, IDirectorySession session, OptionalIdentityData optionalData) where T : IConfigurable, new() { if (string.IsNullOrEmpty(identityString)) { throw new ArgumentException("IdentityString must contain a non-empty value", "identityString"); } EnumerableWrapper <T> wrapper = EnumerableWrapper <T> .GetWrapper(this.PerformPrimarySearch <T>(this.GetNameMatchingFilter(identityString, false), rootId, session, true, optionalData)); if (!wrapper.HasElements() && this.IsWildcardDefined(identityString)) { wrapper = EnumerableWrapper <T> .GetWrapper(this.PerformPrimarySearch <T>(this.GetNameMatchingFilter(identityString, true), rootId, session, true, optionalData)); } return(wrapper); }
// Token: 0x06000C96 RID: 3222 RVA: 0x00027884 File Offset: 0x00025A84 IEnumerable <T> IIdentityParameter.GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { if (session == null) { throw new ArgumentNullException("session"); } if (null == this.CallAnsweringRuleId) { throw new InvalidOperationException(Strings.ErrorOperationOnInvalidObject); } IConfigurable[] array = session.Find <T>(null, this.CallAnsweringRuleId, false, null); if (array == null || array.Length == 0) { notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString())); return(new T[0]); } notFoundReason = null; T[] array2 = new T[array.Length]; int num = 0; foreach (IConfigurable configurable in array) { array2[num++] = (T)((object)configurable); } return(array2); }
IEnumerable <T> IIdentityParameter.GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { if (session == null) { throw new ArgumentNullException("session"); } if (null == this.InternalMailboxFolderId) { throw new InvalidOperationException(Strings.ErrorOperationOnInvalidObject); } if (!(session is MailboxFolderDataProviderBase)) { throw new NotSupportedException("session: " + session.GetType().FullName); } if (optionalData != null && optionalData.AdditionalFilter != null) { throw new NotSupportedException("Supplying Additional Filters is not currently supported by this IdParameter."); } T t = (T)((object)session.Read <T>(this.InternalMailboxFolderId)); if (t == null) { notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString())); return(new T[0]); } notFoundReason = null; return(new T[] { t }); }
internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { TaskLogger.LogEnter(); notFoundReason = null; IEnumerable <T> result = new List <T>(); if (typeof(Database).IsAssignableFrom(typeof(T)) && !string.IsNullOrEmpty(base.RawIdentity)) { LegacyDN legacyDN = null; if (LegacyDN.TryParse(base.RawIdentity, out legacyDN)) { QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, DatabaseSchema.ExchangeLegacyDN, base.RawIdentity); result = base.PerformPrimarySearch <T>(filter, rootId, session, true, optionalData); } } else { result = base.GetObjects <T>(rootId, session, subTreeSession, optionalData, out notFoundReason); } TaskLogger.LogExit(); return(result); }
// Token: 0x06000A29 RID: 2601 RVA: 0x00021A8C File Offset: 0x0001FC8C internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { IEnumerable <T> enumerable = null; List <T> list = new List <T>(); notFoundReason = null; int num = 0; int num2 = 0; if (base.InternalADObjectId != null) { enumerable = base.GetADObjectIdObjects <T>(base.InternalADObjectId, rootId, subTreeSession, optionalData); } EnumerableWrapper <T> wrapper = EnumerableWrapper <T> .GetWrapper(enumerable); if (wrapper.HasElements()) { using (IEnumerator <T> enumerator = wrapper.GetEnumerator()) { while (enumerator.MoveNext()) { T item = enumerator.Current; if (ServerIdParameter.HasRole((ADObjectId)item.Identity, this.RoleRestriction, (IConfigDataProvider)session) || (this.AllowLegacy && !ServerIdParameter.HasRole((ADObjectId)item.Identity, ServerRole.All, (IConfigDataProvider)session))) { list.Add(item); } else if (!ServerIdParameter.HasRole((ADObjectId)item.Identity, ServerRole.All, (IConfigDataProvider)session)) { num2++; } else { num++; } } goto IL_21B; } } if (!string.IsNullOrEmpty(this.CommonName) && this.ServerId != null) { ADObjectId[] matchingIdentities = this.ServerId.GetMatchingIdentities((IConfigDataProvider)session); foreach (ADObjectId rootId2 in matchingIdentities) { enumerable = base.GetObjectsInOrganization <T>(this.CommonName, rootId2, session, optionalData); foreach (T item2 in enumerable) { if (ServerIdParameter.HasRole((ADObjectId)item2.Identity, this.RoleRestriction, (IConfigDataProvider)session) || (this.AllowLegacy && !ServerIdParameter.HasRole((ADObjectId)item2.Identity, ServerRole.All, (IConfigDataProvider)session))) { list.Add(item2); } else if (!ServerIdParameter.HasRole((ADObjectId)item2.Identity, ServerRole.All, (IConfigDataProvider)session)) { num2++; } else { num++; } } } } IL_21B: if (list.Count == 0) { if (num2 != 0) { notFoundReason = new LocalizedString?(Strings.ExceptionLegacyObjects(this.ToString())); } if (num != 0) { notFoundReason = new LocalizedString?(Strings.ExceptionRoleNotFoundObjects(this.ToString())); } } return(list); }
// Token: 0x060002D4 RID: 724 RVA: 0x0000B448 File Offset: 0x00009648 private IEnumerable <TResult> ResolveIdList <TObject, TResult>(IEnumerable idParameters, IConfigDataProvider session, ObjectId rootId, OptionalIdentityData optionalData, ExchangeErrorCategory errorCategory, Func <IIdentityParameter, LocalizedString> parameterToNotFoundError, Func <IIdentityParameter, LocalizedString> parameterToMultipleFoundError, Func <IConfigurable, TResult> convertToResult, Func <IConfigurable, IConfigurable> validateObject) where TObject : IConfigurable, new() { Func <IConfigurable, TResult> func = null; Func <IConfigurable, IConfigurable> func2 = null; Dictionary <TResult, IIdentityParameter> dictionary = new Dictionary <TResult, IIdentityParameter>(); if (idParameters != null) { if (convertToResult == null) { if (func == null) { func = ((IConfigurable obj) => (TResult)((object)obj.Identity)); } convertToResult = func; } if (validateObject == null) { if (func2 == null) { func2 = ((IConfigurable obj) => obj); } validateObject = func2; } foreach (object obj2 in idParameters) { IIdentityParameter identityParameter = (IIdentityParameter)obj2; LocalizedString? notFoundError = (parameterToNotFoundError == null) ? null : new LocalizedString?(parameterToNotFoundError(identityParameter)); LocalizedString? multipleFoundError = (parameterToMultipleFoundError == null) ? null : new LocalizedString?(parameterToMultipleFoundError(identityParameter)); IConfigurable arg = this.GetDataObject <TObject>(identityParameter, session, rootId, notFoundError, multipleFoundError); arg = validateObject(arg); TResult tresult = convertToResult(arg); if (dictionary.ContainsKey(tresult)) { throw new ManagementObjectDuplicateException(Strings.ErrorDuplicateManagementObjectFound(dictionary[tresult], identityParameter, tresult)); } dictionary.Add(tresult, identityParameter); } } return(dictionary.Keys); }
public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { notFoundReason = null; return(session.FindPaged <T>(null, rootId, false, null, 0)); }
internal virtual IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { TaskLogger.LogEnter(); notFoundReason = null; IEnumerable <AddressBookBase> enumerable = new List <AddressBookBase>(); try { if (typeof(T) != typeof(AddressBookBase)) { throw new ArgumentException(Strings.ErrorInvalidType(typeof(T).Name), "type"); } if (session == null) { throw new ArgumentNullException("session"); } IList <IEnumerable <AddressBookBase> > list = new List <IEnumerable <AddressBookBase> >(); if (this.addressListIdParameter != null) { list.Add(this.addressListIdParameter.GetObjects <AddressBookBase>(rootId, session)); } if (this.globalAddressListIdParameter != null) { list.Add(this.globalAddressListIdParameter.GetObjects <AddressBookBase>(rootId, session)); } enumerable = EnumerableWrapper <AddressBookBase> .GetWrapper(list); } finally { TaskLogger.LogExit(); } return((IEnumerable <T>)enumerable); }
IEnumerable <T> IIdentityParameter.GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { return(this.GetObjects <T>(rootId, session, optionalData, out notFoundReason)); }
internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { TaskLogger.LogEnter(); if (session == null) { throw new ArgumentNullException("session"); } if (!(session is IConfigurationSession)) { throw new ArgumentException(Strings.ErrorInvalidType(session.GetType().Name), "session"); } if (((typeof(T) == typeof(ADOrganizationalUnit) && session.UseConfigNC) || (typeof(T) == typeof(ExchangeConfigurationUnit) && !session.UseConfigNC)) && !Environment.StackTrace.Contains("Microsoft.Exchange.Management.Deployment.OrganizationTaskHelper.GetExchangeConfigUnitFromOrganizationId")) { throw new ArgumentException("Session is using the wrong Naming Context for the desired search"); } notFoundReason = null; EnumerableWrapper <T> result = EnumerableWrapper <T> .Empty; if (base.IsMultitenancyEnabled()) { if (this.IsWildcardDefined(base.RawIdentity)) { if (null == this.AccountPartition) { notFoundReason = new LocalizedString?(Strings.ErrorOrganizationWildcard); return(result); } IEnumerable <ExchangeConfigurationUnit> configurationUnits = this.GetConfigurationUnits((IConfigurationSession)session, base.RawIdentity); return(EnumerableWrapper <T> .GetWrapper((IEnumerable <T>) configurationUnits, this.GetEnumerableFilter <T>())); } else { OrganizationId organizationId = this.ResolveOrganizationId(session.SessionSettings.CurrentOrganizationId); if (!OrganizationId.ForestWideOrgId.Equals(organizationId)) { ADSessionSettings adsessionSettings = ADSessionSettings.FromCustomScopeSet(ScopeSet.ResolveUnderScope(organizationId, session.SessionSettings.ScopeSet), session.SessionSettings.RootOrgId, organizationId, session.SessionSettings.ExecutingUserOrganizationId, true); adsessionSettings.TenantConsistencyMode = TenantConsistencyMode.IncludeRetiredTenants; bool flag = TaskHelper.ShouldPassDomainControllerToSession(session.DomainController, adsessionSettings); ITenantConfigurationSession tenantConfigurationSession = DirectorySessionFactory.Default.CreateTenantConfigurationSession(flag ? session.DomainController : null, session.ReadOnly, session.ConsistencyMode, flag ? session.NetworkCredential : null, adsessionSettings, 314, "GetObjects", "f:\\15.00.1497\\sources\\dev\\Configuration\\src\\ObjectModel\\IdentityParameter\\organizationidparameter.cs"); tenantConfigurationSession.UseConfigNC = session.UseConfigNC; tenantConfigurationSession.UseGlobalCatalog = session.UseGlobalCatalog; if (typeof(ExchangeConfigurationUnit) == typeof(T) && organizationId.ConfigurationUnit != null) { List <ExchangeConfigurationUnit> list = new List <ExchangeConfigurationUnit>(); ExchangeConfigurationUnit exchangeConfigurationUnit = tenantConfigurationSession.Read <ExchangeConfigurationUnit>(organizationId.ConfigurationUnit); if (exchangeConfigurationUnit != null) { list.Add(exchangeConfigurationUnit); result = EnumerableWrapper <T> .GetWrapper((IEnumerable <T>) list, this.GetEnumerableFilter <T>()); } } else if (organizationId.OrganizationalUnit != null) { List <ADOrganizationalUnit> list2 = new List <ADOrganizationalUnit>(); ADOrganizationalUnit adorganizationalUnit = tenantConfigurationSession.Read <ADOrganizationalUnit>(organizationId.OrganizationalUnit); if (adorganizationalUnit != null) { list2.Add(adorganizationalUnit); result = EnumerableWrapper <T> .GetWrapper((IEnumerable <T>) list2, this.GetEnumerableFilter <T>()); } } } } } TaskLogger.LogExit(); return(result); }
// Token: 0x06000CBF RID: 3263 RVA: 0x00027CD0 File Offset: 0x00025ED0 internal IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { if (optionalData != null && optionalData.AdditionalFilter != null) { throw new NotSupportedException("Supplying Additional Filters is not currently supported by this IdParameter."); } notFoundReason = null; T t = (T)((object)session.Read <T>(this)); T[] result; if (t != null) { result = new T[] { t }; } else { result = new T[0]; } return(result); }
internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { IEnumerable <T> objects = base.GetObjects <T>(rootId, session, subTreeSession, optionalData, out notFoundReason); EnumerableWrapper <T> wrapper = EnumerableWrapper <T> .GetWrapper(objects); if (!wrapper.HasElements()) { LocalizedString value; if (((IConfigDataProvider)session).Source != null) { value = Strings.ErrorManagementObjectNotFoundWithSource(this.ToString(), ((IConfigDataProvider)session).Source); } else { value = Strings.ErrorManagementObjectNotFound(this.ToString()); } if (notFoundReason != null) { string notFound = value; LocalizedString?localizedString = notFoundReason; value = Strings.ErrorNotFoundWithReason(notFound, (localizedString != null) ? localizedString.GetValueOrDefault() : null); } notFoundReason = new LocalizedString?(Strings.ErrorRoleAssignmentNotFound(value)); } return(objects); }
private IEnumerable <T> GetMultitenancyObjects <T>(string identityString, ADObjectId rootId, IDirectorySession session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { if (identityString == null) { throw new ArgumentNullException("rawIdentity"); } if (session == null) { throw new ArgumentNullException("session"); } notFoundReason = null; string text; string identityString2; if (!this.IsMultitenancyEnabled() || !this.TryParseOrganizationName(out text, out identityString2)) { return(EnumerableWrapper <T> .Empty); } IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(session.DomainController, true, session.ConsistencyMode, session.NetworkCredential, session.SessionSettings, 1403, "GetMultitenancyObjects", "f:\\15.00.1497\\sources\\dev\\Configuration\\src\\ObjectModel\\BaseTasks\\ADIdParameter.cs"); tenantOrTopologyConfigurationSession.UseConfigNC = true; tenantOrTopologyConfigurationSession.LinkResolutionServer = session.LinkResolutionServer; if (!string.IsNullOrEmpty(session.DomainController) && tenantOrTopologyConfigurationSession.SessionSettings.CurrentOrganizationId.Equals(OrganizationId.ForestWideOrgId) && tenantOrTopologyConfigurationSession.SessionSettings.PartitionId.ForestFQDN != TopologyProvider.LocalForestFqdn) { return(EnumerableWrapper <T> .Empty); } if (this.IsWildcardDefined(text)) { notFoundReason = new LocalizedString?(Strings.ErrorOrganizationWildcard); return(EnumerableWrapper <T> .Empty); } OrganizationId organizationId; if (this.orgIdResolved) { organizationId = this.resolvedOrganizationId; } else { organizationId = this.GetOrganizationId(session.SessionSettings.CurrentOrganizationId, text); } IDirectorySession directorySession = session; if (organizationId != null && !OrganizationId.ForestWideOrgId.Equals(organizationId) && session.SessionSettings != null && session.SessionSettings.CurrentOrganizationId.Equals(OrganizationId.ForestWideOrgId)) { directorySession = TaskHelper.UnderscopeSessionToOrganization(session, organizationId, true); } if (organizationId != null && !OrganizationId.ForestWideOrgId.Equals(organizationId) && organizationId.Equals(directorySession.SessionSettings.CurrentOrganizationId)) { IEnumerable <T> objectsInOrganization = this.GetObjectsInOrganization <T>(identityString2, rootId, directorySession, optionalData); return(EnumerableWrapper <T> .GetWrapper(objectsInOrganization)); } return(EnumerableWrapper <T> .Empty); }
internal IEnumerable <T> PerformPrimarySearch <T>(QueryFilter filter, ADObjectId rootId, IDirectorySession session, bool deepSearch, OptionalIdentityData optionalData) where T : IConfigurable, new() { if (rootId != null && rootId.IsRelativeDn) { throw new ArgumentException("RootId cannot be a relative DN", "rootId"); } if (session == null) { throw new ArgumentNullException("session"); } if (optionalData == null) { optionalData = new OptionalIdentityData(); } if (session.ConfigScope == ConfigScopes.TenantLocal && rootId == null && !this.IsNullScopedSession(session)) { if (optionalData.ConfigurationContainerRdn != null) { rootId = this.CreateContainerRootId(session, optionalData.ConfigurationContainerRdn); } else if (optionalData.RootOrgDomainContainerId != null && this.IsForestWideScopedSession(session)) { rootId = optionalData.RootOrgDomainContainerId; } } QueryFilter filter2 = QueryFilter.AndTogether(new QueryFilter[] { filter, this.AdditionalQueryFilter, optionalData.AdditionalFilter }); IEnumerable <T> enumerable = this.PerformSearch <T>(filter2, rootId, session, deepSearch); return(EnumerableWrapper <T> .GetWrapper(enumerable, this.GetEnumerableFilter <T>())); }
// Token: 0x060002D2 RID: 722 RVA: 0x0000B360 File Offset: 0x00009560 protected MultiValuedProperty <TResult> ResolveIdParameterCollection <TIdParameter, TObject, TResult>(IEnumerable <TIdParameter> idParameters, IConfigDataProvider session, ObjectId rootId, OptionalIdentityData optionalData) where TIdParameter : IIdentityParameter where TObject : IConfigurable, new() { return(this.ResolveIdParameterCollection <TIdParameter, TObject, TResult>(idParameters, session, rootId, optionalData, (ExchangeErrorCategory)0, null, null, null, null)); }
// Token: 0x060009B2 RID: 2482 RVA: 0x00021087 File Offset: 0x0001F287 public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { throw new NotImplementedException(); }
// Token: 0x060002D3 RID: 723 RVA: 0x0000B380 File Offset: 0x00009580 protected MultiValuedProperty <TResult> ResolveIdParameterCollection <TIdParameter, TObject, TResult>(IEnumerable <TIdParameter> idParameters, IConfigDataProvider session, ObjectId rootId, OptionalIdentityData optionalData, ExchangeErrorCategory errorCategory, Func <IIdentityParameter, LocalizedString> parameterToNotFoundError, Func <IIdentityParameter, LocalizedString> parameterToMultipleFoundError, Func <IConfigurable, TResult> convertToResult, Func <IConfigurable, IConfigurable> validateObject) where TIdParameter : IIdentityParameter where TObject : IConfigurable, new() { MultiValuedProperty <TIdParameter> multiValuedProperty = idParameters as MultiValuedProperty <TIdParameter>; MultiValuedProperty <TResult> result; if (multiValuedProperty != null && multiValuedProperty.IsChangesOnlyCopy) { Hashtable hashtable = new Hashtable(); if (multiValuedProperty.Added.Length > 0) { IEnumerable <TResult> value = this.ResolveIdList <TObject, TResult>(multiValuedProperty.Added, session, rootId, optionalData, errorCategory, parameterToNotFoundError, parameterToMultipleFoundError, convertToResult, validateObject); hashtable.Add("Add", value); } if (multiValuedProperty.Removed.Length > 0) { IEnumerable <TResult> value2 = this.ResolveIdList <TObject, TResult>(multiValuedProperty.Removed, session, rootId, optionalData, errorCategory, parameterToNotFoundError, parameterToMultipleFoundError, convertToResult, null); hashtable.Add("Remove", value2); } result = new MultiValuedProperty <TResult>(hashtable); } else { IEnumerable <TResult> value3 = this.ResolveIdList <TObject, TResult>(idParameters, session, rootId, optionalData, errorCategory, parameterToNotFoundError, parameterToMultipleFoundError, convertToResult, validateObject); result = new MultiValuedProperty <TResult>(value3); } return(result); }
public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { notFoundReason = null; if (this.IsUniqueIdentity) { return(new List <T>(1) { (T)((object)session.Read <T>(this.sendAddressIdentity)) }); } return(session.FindPaged <T>(null, rootId, false, null, 0)); }
// Token: 0x060002D5 RID: 725 RVA: 0x0000B580 File Offset: 0x00009780 protected IConfigurable GetDataObject <TObject>(IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, LocalizedString?notFoundError, LocalizedString?multipleFoundError, ExchangeErrorCategory errorCategory) where TObject : IConfigurable, new() { IConfigurable result = null; LocalizedString? localizedString; IEnumerable <TObject> dataObjects = this.GetDataObjects <TObject>(id, session, rootID, optionalData, out localizedString); Exception ex = null; using (IEnumerator <TObject> enumerator = dataObjects.GetEnumerator()) { if (enumerator.MoveNext()) { result = enumerator.Current; if (enumerator.MoveNext()) { ex = new ManagementObjectAmbiguousException(multipleFoundError ?? Strings.ErrorManagementObjectAmbiguous(id.ToString())); } } else if (notFoundError != null) { LocalizedString message; if (localizedString != null) { LocalizedString?localizedString2 = notFoundError; string notFound = (localizedString2 != null) ? localizedString2.GetValueOrDefault() : null; LocalizedString?localizedString3 = localizedString; message = Strings.ErrorNotFoundWithReason(notFound, (localizedString3 != null) ? localizedString3.GetValueOrDefault() : null); } else { message = notFoundError.Value; } ex = new ManagementObjectNotFoundException(message); } else { ex = new ManagementObjectNotFoundException(localizedString ?? this.GetErrorMessageObjectNotFound(id.ToString(), typeof(TObject).ToString(), (this.DataSession != null) ? this.DataSession.Source : null)); } } if (ex != null) { if (errorCategory != (ExchangeErrorCategory)0) { RecipientTaskHelper.SetExceptionErrorCategory(ex, errorCategory); } throw ex; } return(result); }
// Token: 0x06000AD6 RID: 2774 RVA: 0x000232D4 File Offset: 0x000214D4 internal override IEnumerable <T> GetObjectsInOrganization <T>(string identityString, ADObjectId rootId, IDirectorySession session, OptionalIdentityData optionalData) { EnumerableWrapper <T> wrapper = EnumerableWrapper <T> .GetWrapper(base.GetObjectsInOrganization <T>(identityString, rootId, session, optionalData)); if (wrapper.HasElements()) { return(wrapper); } int num = identityString.IndexOf('\\'); if (0 < num && identityString.Length > num + 1) { string propertyValue = identityString.Substring(num + 1); string unescapedCommonName = identityString.Substring(0, num); OptionalIdentityData optionalIdentityData = null; if (optionalData != null) { optionalIdentityData = optionalData.Clone(); optionalIdentityData.ConfigurationContainerRdn = null; } ADObjectId adobjectId = (rootId == null) ? MessageClassificationIdParameter.DefaultRoot((IConfigDataProvider)session) : rootId; ADObjectId childId = adobjectId.Parent.GetChildId(unescapedCommonName); QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Name, propertyValue); return(base.PerformPrimarySearch <T>(filter, childId, session, false, optionalIdentityData)); } return(new T[0]); }
internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { if (typeof(T) != typeof(ReducedRecipient)) { throw new ArgumentException(Strings.ErrorInvalidType(typeof(T).Name), "type"); } OptionalIdentityData optionalIdentityData; if (optionalData == null) { optionalIdentityData = new OptionalIdentityData(); } else { optionalIdentityData = optionalData.Clone(); } RoleGroupIdParameter @object = new RoleGroupIdParameter(base.RawIdentity); ADGroup object2 = base.GetObject <ADGroup>(rootId, session, subTreeSession, optionalIdentityData, new RecipientIdParameter.GetObjectsDelegate <ADGroup>(@object.GetObjects <ADGroup>), out notFoundReason); if (object2 == null) { return(EnumerableWrapper <T> .Empty); } optionalIdentityData.RootOrgDomainContainerId = null; IDirectorySession directorySession = TaskHelper.UnderscopeSessionToOrganization(session, object2.OrganizationId, true); IDirectorySession reducedRecipientSession = DirectorySessionFactory.Default.GetReducedRecipientSession((IRecipientSession)directorySession, 160, "GetObjects", "f:\\15.00.1497\\sources\\dev\\Configuration\\src\\ObjectModel\\IdentityParameter\\RecipientParameters\\RoleGroupMemberIdParameter.cs"); QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.MemberOfGroup, object2.Id); return(base.PerformPrimarySearch <T>(filter, null, reducedRecipientSession, true, optionalIdentityData)); }
// Token: 0x06000AB2 RID: 2738 RVA: 0x00022EF8 File Offset: 0x000210F8 IEnumerable <T> IIdentityParameter.GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { if (this.IsFullyQualified) { notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString())); } else { notFoundReason = null; } QueryFilter queryFilter = this.GetQueryFilter(session); if (optionalData != null && optionalData.AdditionalFilter != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, optionalData.AdditionalFilter }); } return(session.FindPaged <T>(queryFilter, rootId, false, null, 0)); }
internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { if (typeof(T) != typeof(ExtendedRight)) { throw new ArgumentException(Strings.ErrorInvalidType(typeof(T).Name), "type"); } if (session == null) { throw new ArgumentNullException("session"); } if (ExtendedRightIdParameter.AllExtendedRights == null) { ADPagedReader <ExtendedRight> adpagedReader = ((ITopologyConfigurationSession)session).GetAllExtendedRights(); ExtendedRightIdParameter.allExtendedRights = adpagedReader.ReadAllPages(); } base.GetObjects <T>(rootId, session, subTreeSession, optionalData, out notFoundReason); List <T> list = new List <T>(); foreach (ExtendedRight extendedRight in ExtendedRightIdParameter.AllExtendedRights) { if (ADObjectId.Equals(extendedRight.Id, base.InternalADObjectId) || (base.InternalADObjectId != null && base.InternalADObjectId.ObjectGuid == extendedRight.RightsGuid) || (base.RawIdentity != null && (string.Compare(extendedRight.DisplayName, base.RawIdentity, StringComparison.OrdinalIgnoreCase) == 0 || string.Compare(extendedRight.Name, base.RawIdentity, StringComparison.OrdinalIgnoreCase) == 0))) { list.Add((T)((object)extendedRight)); break; } } return(list); }
// Token: 0x060002C0 RID: 704 RVA: 0x0000B00F File Offset: 0x0000920F protected IEnumerable <TDataObject> GetDataObjects(IIdentityParameter id, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { return(this.GetDataObjects <TDataObject>(id, this.DataSession, this.RootId, optionalData, out notFoundReason)); }
// Token: 0x06000C70 RID: 3184 RVA: 0x00027120 File Offset: 0x00025320 internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { ITopologyConfigurationSession topologyConfigurationSession = DirectorySessionFactory.Default.CreateTopologyConfigurationSession(session.DomainController, true, ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromRootOrgScopeSet(), 104, "GetObjects", "f:\\15.00.1497\\sources\\dev\\Configuration\\src\\ObjectModel\\IdentityParameter\\SystemAttendantIdParameter.cs"); IEnumerable <Server> objects = base.GetObjects <Server>(rootId, topologyConfigurationSession, topologyConfigurationSession, null, out notFoundReason); List <T> list = new List <T>(); foreach (Server server in objects) { ADObjectId childId = server.Id.GetChildId("Microsoft System Attendant"); QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.ObjectCategory, "exchangeAdminService"); IEnumerable <ADRecipient> enumerable = base.PerformPrimarySearch <ADRecipient>(filter, childId, session, true, optionalData); int num = 0; foreach (ADRecipient adrecipient in enumerable) { list.Add((T)((object)adrecipient)); num++; } } return(list); }
// Token: 0x060002C3 RID: 707 RVA: 0x0000B05C File Offset: 0x0000925C protected IConfigurable GetDataObject <TObject>(IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, LocalizedString?notFoundError, LocalizedString?multipleFoundError) where TObject : IConfigurable, new() { return(this.GetDataObject <TObject>(id, session, rootID, optionalData, notFoundError, multipleFoundError, (ExchangeErrorCategory)0)); }
// Token: 0x060009DE RID: 2526 RVA: 0x000214F0 File Offset: 0x0001F6F0 internal override IEnumerable <T> GetObjects <T>(ADObjectId rootId, IDirectorySession session, IDirectorySession subTreeSession, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) { if (typeof(T) != typeof(HostedConnectionFilterPolicy)) { throw new ArgumentException(Strings.ErrorInvalidType(typeof(T).Name), "type"); } return(base.GetObjects <T>(rootId, session, subTreeSession, optionalData, out notFoundReason)); }
// Token: 0x060002C5 RID: 709 RVA: 0x0000B08C File Offset: 0x0000928C protected IEnumerable <TObject> GetDataObjects <TObject>(IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where TObject : IConfigurable, new() { if (id == null) { throw new ArgumentNullException("id"); } notFoundReason = null; base.WriteVerbose(TaskVerboseStringHelper.GetFindByIdParameterVerboseString(id, session ?? this.DataSession, typeof(TObject), rootID)); IEnumerable <TObject> objects; try { objects = id.GetObjects <TObject>(rootID, session ?? this.DataSession, optionalData, out notFoundReason); } finally { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(session ?? this.DataSession)); } return(objects); }
public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { notFoundReason = null; AggregationSubscriptionQueryFilter filter = new AggregationSubscriptionQueryFilter(this); return(session.FindPaged <T>(filter, rootId, false, null, 0)); }
internal IEnumerable <T> GetADObjectIdObjects <T>(ADObjectId identity, ADObjectId rootId, IDirectorySession session, OptionalIdentityData optionalData) where T : IConfigurable, new() { if (identity != null) { OrganizationId organizationId; if (this.InternalADObjectId != null && this.InternalADObjectId.Equals(identity) && this.orgIdResolved) { organizationId = this.resolvedOrganizationId; } else { organizationId = this.GetOrganizationId(session.SessionSettings.CurrentOrganizationId, identity); } IDirectorySession directorySession = session; if (organizationId != null) { directorySession = TaskHelper.UnderscopeSessionToOrganization(session, organizationId, true); } if (session.ConfigScope == ConfigScopes.TenantSubTree) { directorySession = ADSession.RescopeSessionToTenantSubTree(directorySession); } if (directorySession.IsRootIdWithinScope <T>(rootId)) { if (ADObjectId.Equals(identity, identity.DomainId) && !typeof(OrganizationalUnitIdParameterBase).IsAssignableFrom(base.GetType())) { if (!typeof(ADRawEntryIdParameter).IsAssignableFrom(base.GetType())) { goto IL_15F; } } try { ADObjectId rootId2 = rootId; bool enforceContainerizedScoping = directorySession.EnforceContainerizedScoping; bool flag = directorySession is IRecipientSession; if (rootId == null && !string.IsNullOrEmpty(identity.DistinguishedName)) { if (!ADObjectId.Equals(identity, identity.DomainId) && directorySession.IsRootIdWithinScope <T>(identity.Parent)) { rootId2 = identity.Parent; } else if (directorySession.IsRootIdWithinScope <T>(identity)) { rootId2 = identity; if (flag) { directorySession.EnforceContainerizedScoping = false; } } } try { EnumerableWrapper <T> wrapper = EnumerableWrapper <T> .GetWrapper(this.PerformPrimarySearch <T>(new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Id, identity), rootId2, directorySession, true, optionalData)); if (wrapper.HasElements()) { return(wrapper); } } finally { if (flag) { directorySession.EnforceContainerizedScoping = enforceContainerizedScoping; } } } catch (LocalizedException exception) { if (!TaskHelper.IsTaskKnownException(exception)) { throw; } } IL_15F: if (identity.ObjectGuid != Guid.Empty) { return(this.PerformPrimarySearch <T>(new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Guid, identity.ObjectGuid), rootId, directorySession, true, optionalData)); } } } return(EnumerableWrapper <T> .Empty); }