// Token: 0x06000326 RID: 806 RVA: 0x00011034 File Offset: 0x0000F234 private static bool ValidateDomainName(AcceptedDomain domain, IConfigurationSession session, Exception duplicateAcceptedDomainException, Exception conflictingAcceptedDomainException, out Exception error) { error = null; string domain2 = domain.DomainName.Domain; QueryFilter filter = new AndFilter(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.NotEqual, ADObjectSchema.Guid, domain.Guid), new OrFilter(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, AcceptedDomainSchema.DomainName, domain2), new ComparisonFilter(ComparisonOperator.Equal, AcceptedDomainSchema.DomainName, "*." + domain2) }) }); AcceptedDomain[] array = session.Find <AcceptedDomain>(null, QueryScope.SubTree, filter, null, 1); if (array.Length != 0) { error = duplicateAcceptedDomainException; return(false); } List <QueryFilter> list = new List <QueryFilter>(AcceptedDomain.ConflictingDomainFilters(domain, false)); QueryFilter filter2 = new OrFilter(list.ToArray()); foreach (AcceptedDomain acceptedDomain in session.FindPaged <AcceptedDomain>(null, QueryScope.SubTree, filter2, null, 0)) { if (!ADObjectId.Equals(domain.Id.Parent, acceptedDomain.Id.Parent)) { error = conflictingAcceptedDomainException; return(false); } } return(true); }
private static IEnumerable <AcceptedDomain> FindConflictingDomains(IConfigurationSession session, AcceptedDomain oldDomain, AcceptedDomain newDomain) { List <QueryFilter> filters = new List <QueryFilter>(); filters.AddRange(AcceptedDomain.ConflictingDomainFilters(oldDomain, false)); filters.AddRange(AcceptedDomain.ConflictingDomainFilters(newDomain, false)); QueryFilter filter = new OrFilter(filters.ToArray()); ADPagedReader <AcceptedDomain> results = session.FindPaged <AcceptedDomain>(null, QueryScope.SubTree, filter, null, 0); foreach (AcceptedDomain result in results) { yield return(result); } yield return(newDomain); yield break; }