// Token: 0x06000452 RID: 1106 RVA: 0x0000F624 File Offset: 0x0000D824 internal static OrganizationIdParameter ResolveTargetOrganizationIdParameter(OrganizationIdParameter organizationParameter, IIdentityParameter identity, OrganizationId currentOrganizationId, Task.ErrorLoggerDelegate errorHandler, Task.TaskWarningLoggingDelegate warningHandler) { OrganizationIdParameter organizationIdParameter = null; if (identity != null) { if (identity is MailPublicFolderIdParameter) { organizationIdParameter = (identity as MailPublicFolderIdParameter).Organization; } else if (identity is PublicFolderIdParameter) { organizationIdParameter = (identity as PublicFolderIdParameter).Organization; } } if (!currentOrganizationId.Equals(OrganizationId.ForestWideOrgId)) { if (organizationIdParameter != null) { errorHandler(new ManagementObjectNotFoundException(Strings.ErrorManagementObjectNotFound(identity.ToString())), ExchangeErrorCategory.Client, identity); } } else { if (organizationParameter != null) { if (organizationIdParameter != null) { warningHandler(Strings.WarningDuplicateOrganizationSpecified(organizationParameter.ToString(), organizationIdParameter.ToString())); } organizationIdParameter = organizationParameter; } if (organizationIdParameter == null && !(identity is MailPublicFolderIdParameter)) { errorHandler(new ErrorMissOrganizationException(), ExchangeErrorCategory.Client, null); } } return(organizationIdParameter); }
// Token: 0x06000451 RID: 1105 RVA: 0x0000F550 File Offset: 0x0000D750 internal static OrganizationId ResolveTargetOrganization(Fqdn domainController, OrganizationIdParameter organization, ADObjectId rootOrgContainerId, OrganizationId currentOrganizationId, OrganizationId executingUserOrganizationId) { if (organization != null) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrgContainerId, currentOrganizationId, executingUserOrganizationId, false); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(domainController, true, ConsistencyMode.PartiallyConsistent, null, sessionSettings, ConfigScopes.TenantSubTree, 183, "ResolveTargetOrganization", "f:\\15.00.1497\\sources\\dev\\Configuration\\src\\ObjectModel\\BaseTasks\\MapiTaskHelper.cs"); tenantOrTopologyConfigurationSession.UseConfigNC = false; ADOrganizationalUnit adorganizationalUnit = null; LocalizedString? localizedString = null; IEnumerable <ADOrganizationalUnit> objects = organization.GetObjects <ADOrganizationalUnit>(null, tenantOrTopologyConfigurationSession, null, out localizedString); using (IEnumerator <ADOrganizationalUnit> enumerator = objects.GetEnumerator()) { if (!enumerator.MoveNext()) { throw new ManagementObjectNotFoundException(Strings.ErrorOrganizationNotFound(organization.ToString())); } adorganizationalUnit = enumerator.Current; if (enumerator.MoveNext()) { throw new ManagementObjectAmbiguousException(Strings.ErrorOrganizationNotUnique(organization.ToString())); } } return(adorganizationalUnit.OrganizationId); } return(currentOrganizationId ?? executingUserOrganizationId); }