protected override IConfigDataProvider CreateSession() { this.ResolveCurrentOrganization(); ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(base.TenantGlobalCatalogSession); return(new UnifiedPolicySyncNotificationDataProvider(base.SessionSettings, discoveryMailbox, "Remove-CompliancePolicySyncNotification")); }
public static ADUser GetTenantArbitrationMailbox(OrganizationId organizationId) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.IgnoreInvalid, sessionSettings, 287, "GetTenantArbitrationMailbox", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\AdminAuditLog\\AdminAuditLogHelper.cs"); return(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession)); }
protected override IConfigurable PrepareDataObject() { string text = this.Identity.ToString(); MailboxDataProvider mailboxDataProvider = Utils.GetMailboxDataProvider(base.RootOrgContainerId, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, new Task.TaskErrorLoggingDelegate(base.WriteError)); SearchObject searchObject; if (Utils.IsLegacySearchObjectIdentity(text)) { MailboxDiscoverySearch mailboxDiscoverySearch = ((DiscoverySearchDataProvider)base.DataSession).FindByLegacySearchObjectIdentity(text); if (mailboxDiscoverySearch != null) { return(mailboxDiscoverySearch); } searchObject = (SearchObject)base.GetDataObject <SearchObject>(new SearchObjectIdParameter(text), mailboxDataProvider, this.RootId, base.OptionalIdentityData, new LocalizedString?(Strings.ErrorManagementObjectNotFound(text)), new LocalizedString?(Strings.ErrorManagementObjectAmbiguous(text))); } else { searchObject = Utils.GetE14SearchObjectByName(text, mailboxDataProvider); } if (searchObject == null) { return(base.PrepareDataObject()); } if (!this.Force && !base.ShouldContinue(Strings.EditWillUpgradeSearchObject)) { base.WriteError(new MailboxSearchTaskException(Strings.CannotEditLegacySearchObjectWithoutUpgrade(searchObject.Name)), ErrorCategory.InvalidArgument, text); } return(Utils.UpgradeLegacySearchObject(searchObject, mailboxDataProvider, (DiscoverySearchDataProvider)base.DataSession, new Task.TaskErrorLoggingDelegate(base.WriteError), new Action <LocalizedString>(this.WriteWarning))); }
public static ADUser GetSystemMailbox(IRecipientSession recipientSession, Task task) { if (recipientSession == null) { throw new ArgumentNullException("recipientSession"); } if (task == null) { throw new ArgumentNullException("task"); } ADUser result = null; try { result = MailboxDataProvider.GetDiscoveryMailbox(recipientSession); } catch (ObjectNotFoundException exception) { task.WriteError(exception, ErrorCategory.ReadError, null); } catch (NonUniqueRecipientException exception2) { task.WriteError(exception2, ErrorCategory.ReadError, null); } return(result); }
internal static MailboxSession GetMailboxSession(OrganizationId organizationId, string action) { ADSessionSettings sessionSettings = organizationId.ToADSessionSettings(); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.FullyConsistent, sessionSettings, 99, "GetMailboxSession", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\AuditLogSearch\\AuditLogSearchDataProvider.cs"); ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession); return(AuditLogSearchDataProviderBase.GetMailboxSession(discoveryMailbox, action)); }
public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new() { MailboxDataProvider mailboxDataProvider = (MailboxDataProvider)session; if (mailboxDataProvider == null) { throw new ArgumentNullException("session"); } if (this.objectIdentifier == null) { QueryFilter queryFilter = new TextFilter(SearchObjectBaseSchema.Name, this.identifier, this.IsFullyQualified ? MatchOptions.FullString : MatchOptions.Prefix, MatchFlags.IgnoreCase); if (this.IsFullyQualified) { notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString())); } else { notFoundReason = null; } if (optionalData != null && optionalData.AdditionalFilter != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, optionalData.AdditionalFilter }); } return(mailboxDataProvider.FindPaged <T>(queryFilter, rootId, false, null, 0)); } notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString())); SearchObjectId identity = this.objectIdentifier; if (optionalData != null && optionalData.AdditionalFilter != null) { throw new NotSupportedException("Supplying Additional Filters and an ObjectIdentifier is not currently supported by this IdParameter."); } int num = this.identifier.IndexOf('\\'); if (num == -1 || string.IsNullOrEmpty(this.identifier.Substring(0, num))) { SearchObjectBase searchObjectBase = ((default(T) == null) ? Activator.CreateInstance <T>() : default(T)) as SearchObjectBase; if (searchObjectBase == null) { throw new ArgumentException("The generic type must be a SearchObjectBase"); } identity = new SearchObjectId(identity, searchObjectBase.ObjectType); } T t = (T)((object)mailboxDataProvider.Read <T>(identity)); if (t != null) { return(new T[] { t }); } return(new T[0]); }
protected override TenantInfoProvider CreateOnCacheMiss(Guid key, ref bool shouldAdd) { OrganizationId scopingOrganizationId = OrganizationId.FromExternalDirectoryOrganizationId(key); ADSessionSettings adsessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(scopingOrganizationId); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, true, ConsistencyMode.PartiallyConsistent, adsessionSettings, 99, "CreateOnCacheMiss", "f:\\15.00.1497\\sources\\dev\\data\\src\\storage\\UnifiedPolicy\\TenantInfoProviderFactory.cs"); ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession); ExchangePrincipal syncMailboxPrincipal = ExchangePrincipal.FromADUser(adsessionSettings, discoveryMailbox); return(new TenantInfoProvider(syncMailboxPrincipal)); }
internal static SearchObject GetE14SearchObjectByName(string name, MailboxDataProvider e14DataProvider) { QueryFilter filter = new TextFilter(SearchObjectBaseSchema.Name, name, MatchOptions.FullString, MatchFlags.IgnoreCase); IConfigurable[] array = e14DataProvider.Find <SearchObject>(filter, null, false, null); if (array == null || array.Length <= 0) { return(null); } return((SearchObject)array[0]); }
public static ADRecipient GetSystemMailbox(ADObject dataObject, IConfigurationSession configSession) { if (dataObject == null) { throw new ArgumentNullException("dataObject"); } if (configSession == null) { throw new ArgumentNullException("configSession"); } IRecipientSession recipientSessionScopedToOrganization = Utility.GetRecipientSessionScopedToOrganization(dataObject.OrganizationId, false); ADRecipient discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(recipientSessionScopedToOrganization); ExAssert.RetailAssert(dataObject.OrganizationId.Equals(discoveryMailbox.OrganizationId), "The organization ids of the data object and system mailbox do not match."); return(discoveryMailbox); }
internal static MailboxDataProvider CreateMailboxDataProvider(IRecipientSession recipientSession, Task.TaskErrorLoggingDelegate writeErrorDelegate) { MailboxDataProvider result = null; try { result = new MailboxDataProvider(recipientSession); } catch (ObjectNotFoundException ex) { writeErrorDelegate(new MailboxSearchTaskException(ex.LocalizedString), ErrorCategory.ObjectNotFound, null); } catch (NonUniqueRecipientException ex2) { writeErrorDelegate(new MailboxSearchTaskException(ex2.LocalizedString), ErrorCategory.NotSpecified, null); } return(result); }
internal static MailboxDataProvider GetMailboxDataProvider(ADObjectId rootOrg, OrganizationId currentOrg, OrganizationId executingOrg, Task.TaskErrorLoggingDelegate writeErrorDelegate) { MailboxDataProvider result = null; try { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrg, currentOrg, executingOrg, true); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.IgnoreInvalid, sessionSettings, 694, "GetMailboxDataProvider", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Search\\Utils.cs"); result = new MailboxDataProvider(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession), tenantOrRootOrgRecipientSession); } catch (ObjectNotFoundException exception) { writeErrorDelegate(exception, ErrorCategory.WriteError, null); } catch (NonUniqueRecipientException exception2) { writeErrorDelegate(exception2, ErrorCategory.WriteError, null); } return(result); }
// Token: 0x06000143 RID: 323 RVA: 0x000087B8 File Offset: 0x000069B8 private ExchangePrincipal GetTenantMailbox(OrganizationId organizationId) { if (!(organizationId == null) && !(organizationId == OrganizationId.ForestWideOrgId)) { string name = organizationId.OrganizationalUnit.Name; } ExchangePrincipal result = null; ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.PartiallyConsistent, sessionSettings, 513, "GetTenantMailbox", "f:\\15.00.1497\\sources\\dev\\MailboxAssistants\\src\\assistants\\elc\\AdDataCache.cs"); try { result = ExchangePrincipal.FromADUser(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession), null); } catch (ObjectNotFoundException ex) { throw new DataSourceOperationException(ex.LocalizedString, ex); } return(result); }
public static ExchangePrincipal GetTenantMailbox(OrganizationId organizationId) { string organizationKey = TenantStoreDataProvider.GetOrganizationKey(organizationId); ExchangePrincipal exchangePrincipal = null; if (!TenantStoreDataProvider.exchangePrincipalCache.TryGetValue(organizationKey, out exchangePrincipal)) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.IgnoreInvalid, sessionSettings, 67, "GetTenantMailbox", "f:\\15.00.1497\\sources\\dev\\data\\src\\storage\\Management\\EwsDriver\\TenantStoreDataProvider.cs"); try { exchangePrincipal = ExchangePrincipal.FromADUser(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession), null); } catch (ObjectNotFoundException ex) { throw new DataSourceOperationException(ex.LocalizedString, ex); } TenantStoreDataProvider.exchangePrincipalCache.Add(organizationKey, exchangePrincipal); } return(exchangePrincipal); }
protected override void InternalProcessRecord() { ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox((IRecipientSession)base.DataSession); ExchangePrincipal exchangePrincipal = ExchangePrincipal.FromADUser(discoveryMailbox, null); List <SyncChangeInfo> list = null; if (this.SyncChangeInfos != null && this.SyncChangeInfos.Count > 0) { list = new List <SyncChangeInfo>(); foreach (string input in this.SyncChangeInfos) { list.Add(new SyncChangeInfo(input)); } } SyncNotificationResult syncNotificationResult = RpcClientWrapper.NotifySyncChanges(this.Identity, exchangePrincipal.MailboxInfo.Location.ServerFqdn, new Guid(this.organizationId.ToExternalDirectoryOrganizationId()), this.SyncSvcUrl, this.FullSync, this.SyncNow, (list != null) ? list.ToArray() : null); if (!syncNotificationResult.Success) { base.WriteError(syncNotificationResult.Error, ErrorCategory.WriteError, syncNotificationResult); } base.WriteObject((UnifiedPolicySyncNotification)syncNotificationResult.ResultObject); }
internal static void CheckDiscoveryBudget(ADUser arbitrationMailbox, IRecipientSession recipientSession) { uint discoveryMaxConcurrency = SearchUtils.GetDiscoveryMaxConcurrency(recipientSession); if (discoveryMaxConcurrency == 0U) { throw new SearchDisabledException(); } MailboxDataProvider mailboxDataProvider = new MailboxDataProvider(arbitrationMailbox, recipientSession); IEnumerable <SearchObject> enumerable = mailboxDataProvider.FindPaged <SearchObject>(null, null, false, null, 0); if (enumerable != null) { Dictionary <ADObjectId, ADUser> dictionary = new Dictionary <ADObjectId, ADUser>(); Dictionary <ADObjectId, string> dictionary2 = new Dictionary <ADObjectId, string>(); ADUser aduser = null; string text = null; SearchStatus searchStatus = null; uint num = 0U; try { foreach (SearchObject searchObject in from so in enumerable where (so.SearchStatus != null && so.SearchStatus.Status == SearchState.InProgress) || (so.SearchStatus != null && so.SearchStatus.Status == SearchState.EstimateInProgress) select so) { if (!dictionary.TryGetValue(searchObject.TargetMailbox, out aduser)) { aduser = (ADUser)recipientSession.Read(searchObject.TargetMailbox); if (aduser != null) { dictionary.Add(searchObject.TargetMailbox, aduser); } } if (aduser != null && !dictionary2.TryGetValue(searchObject.TargetMailbox, out text)) { text = ExchangePrincipal.FromADUser(recipientSession.SessionSettings, aduser, RemotingOptions.AllowCrossSite).MailboxInfo.Location.ServerFqdn; if (!string.IsNullOrEmpty(text)) { dictionary2.Add(searchObject.TargetMailbox, text); } } if (aduser != null && !string.IsNullOrEmpty(text)) { SearchId searchId = new SearchId(mailboxDataProvider.ADUser.Id.DistinguishedName, mailboxDataProvider.ADUser.Id.ObjectGuid, searchObject.Id.Guid.ToString()); try { using (MailboxSearchClient mailboxSearchClient = new MailboxSearchClient(text)) { searchStatus = mailboxSearchClient.GetStatus(searchId); } } catch (RpcConnectionException arg) { SearchUtils.Tracer.TraceError <RpcConnectionException>(0L, "SearchUtils.CheckDiscoveryBudget error querying for status: {0}", arg); continue; } catch (RpcException arg2) { SearchUtils.Tracer.TraceError <RpcException>(0L, "SearchUtils.CheckDiscoveryBudget error querying for status: {0}", arg2); continue; } catch (SearchServerException arg3) { SearchUtils.Tracer.TraceError <SearchServerException>(0L, "SearchUtils.CheckDiscoveryBudget error querying for status: {0}", arg3); continue; } if (searchStatus != null && (searchStatus.Status == 0 || searchStatus.Status == 6)) { num += 1U; } } if (num >= discoveryMaxConcurrency) { throw new SearchOverBudgetException((int)discoveryMaxConcurrency); } } } finally { dictionary.Clear(); dictionary2.Clear(); } } }
protected override void InternalProcessRecord() { if (this.InPlaceHoldIdentity != null) { MailboxDiscoverySearch mailboxDiscoverySearch = ((DiscoverySearchDataProvider)base.DataSession).FindByInPlaceHoldIdentity(this.InPlaceHoldIdentity); if (mailboxDiscoverySearch == null) { base.WriteError(new ManagementObjectNotFoundException(Strings.MailboxSearchObjectWithHoldIdentityNotFound(this.InPlaceHoldIdentity)), ExchangeErrorCategory.Context, null); } this.WriteResult(mailboxDiscoverySearch); return; } if (this.Identity != null) { string text = this.Identity.ToString(); MailboxDataProvider mailboxDataProvider = Utils.GetMailboxDataProvider(base.RootOrgContainerId, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, new Task.TaskErrorLoggingDelegate(base.WriteError)); if (Utils.IsLegacySearchObjectIdentity(text)) { MailboxDiscoverySearch mailboxDiscoverySearch2 = ((DiscoverySearchDataProvider)base.DataSession).FindByLegacySearchObjectIdentity(text); if (mailboxDiscoverySearch2 != null) { this.WriteResult(mailboxDiscoverySearch2); return; } LocalizedString? localizedString; IEnumerable <SearchObject> dataObjects = base.GetDataObjects <SearchObject>(new SearchObjectIdParameter(text), mailboxDataProvider, this.RootId, base.OptionalIdentityData, out localizedString); foreach (SearchObject searchObject in dataObjects) { base.WriteResult(new MailboxSearchObject(searchObject, searchObject.SearchStatus ?? new SearchStatus())); } if (!base.HasErrors && base.WriteObjectCount == 0U) { base.WriteError(new ManagementObjectNotFoundException(localizedString ?? base.GetErrorMessageObjectNotFound(text, null, null)), (ErrorCategory)1003, null); return; } } else { SearchObject e14SearchObjectByName = Utils.GetE14SearchObjectByName(this.Identity.ToString(), mailboxDataProvider); if (e14SearchObjectByName == null) { base.InternalProcessRecord(); return; } base.WriteResult(new MailboxSearchObject(e14SearchObjectByName, e14SearchObjectByName.SearchStatus ?? new SearchStatus())); return; } } else { base.InternalProcessRecord(); MailboxDataProvider mailboxDataProvider2 = Utils.GetMailboxDataProvider(base.RootOrgContainerId, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, new Task.TaskErrorLoggingDelegate(base.WriteError)); try { foreach (SearchObject searchObject2 in mailboxDataProvider2.FindPaged <SearchObject>(null, null, true, null, (int)(this.ResultSize.IsUnlimited ? 0U : (this.ResultSize.Value - base.WriteObjectCount)))) { base.WriteResult(new MailboxSearchObject(searchObject2, searchObject2.SearchStatus ?? new SearchStatus())); } } catch (TenantAccessBlockedException exception) { base.WriteError(exception, (ErrorCategory)1003, null); } } }
internal static MailboxDiscoverySearch UpgradeLegacySearchObject(SearchObject searchObject, MailboxDataProvider e14DataProvider, DiscoverySearchDataProvider e15DataProvider, Task.TaskErrorLoggingDelegate writeErrorDelegate, Action <LocalizedString> writeWarningDelegate) { MailboxDiscoverySearch mailboxDiscoverySearch = new MailboxDiscoverySearch(); if (e15DataProvider.Find <MailboxDiscoverySearch>(searchObject.Name) != null) { mailboxDiscoverySearch.Name = searchObject.Name + Guid.NewGuid().ToString(); } else { mailboxDiscoverySearch.Name = searchObject.Name; } mailboxDiscoverySearch.Senders = searchObject.Senders; mailboxDiscoverySearch.CreatedBy = searchObject.CreatedByEx; mailboxDiscoverySearch.Description = Strings.UpgradedSearchObjectDescription; mailboxDiscoverySearch.EndDate = searchObject.EndDate; mailboxDiscoverySearch.StartDate = searchObject.StartDate; mailboxDiscoverySearch.ExcludeDuplicateMessages = searchObject.ExcludeDuplicateMessages; mailboxDiscoverySearch.StatisticsOnly = searchObject.EstimateOnly; mailboxDiscoverySearch.IncludeUnsearchableItems = searchObject.IncludeUnsearchableItems; mailboxDiscoverySearch.IncludeKeywordStatistics = searchObject.IncludeKeywordStatistics; mailboxDiscoverySearch.Language = searchObject.Language.ToString(); mailboxDiscoverySearch.LogLevel = searchObject.LogLevel; mailboxDiscoverySearch.ManagedBy = searchObject.ManagedBy; mailboxDiscoverySearch.MessageTypes = searchObject.MessageTypes; mailboxDiscoverySearch.Query = Utils.ConvertAqsToKql(searchObject.SearchQuery, searchObject.Language); mailboxDiscoverySearch.Recipients = searchObject.Recipients; mailboxDiscoverySearch.StatusMailRecipients = searchObject.StatusMailRecipients; mailboxDiscoverySearch.ManagedByOrganization = e15DataProvider.OrganizationId.ToString(); mailboxDiscoverySearch.LegacySearchObjectIdentity = searchObject.Identity.ToString(); if (searchObject.SourceMailboxes != null && searchObject.SourceMailboxes.Count > 0) { MultiValuedProperty <string> multiValuedProperty = new MultiValuedProperty <string>(); Result <ADRawEntry>[] first = e14DataProvider.RecipientSession.ReadMultiple(searchObject.SourceMailboxes.ToArray(), new PropertyDefinition[] { ADRecipientSchema.DisplayName, ADRecipientSchema.LegacyExchangeDN, ADObjectSchema.ExchangeVersion }); foreach (ADRawEntry adrawEntry in from x in first select x.Data) { if (adrawEntry != null) { if (((ExchangeObjectVersion)adrawEntry[ADObjectSchema.ExchangeVersion]).IsOlderThan(ExchangeObjectVersion.Exchange2012)) { writeErrorDelegate(new MailboxSearchTaskException(Strings.SourceMailboxMustBeE15OrLater((string)adrawEntry[ADRecipientSchema.DisplayName])), ErrorCategory.InvalidArgument, null); } else { multiValuedProperty.Add((string)adrawEntry[ADRecipientSchema.LegacyExchangeDN]); } } } if (multiValuedProperty.Count > 0) { mailboxDiscoverySearch.Sources = multiValuedProperty; } } ADUser aduser = null; if (searchObject.TargetMailbox != null) { aduser = (ADUser)e14DataProvider.RecipientSession.Read(searchObject.TargetMailbox); if (aduser != null) { mailboxDiscoverySearch.Target = aduser.LegacyExchangeDN; } } e15DataProvider.CreateOrUpdate <MailboxDiscoverySearch>(mailboxDiscoverySearch); Exception ex = null; try { if (searchObject.SearchStatus != null) { if (!string.IsNullOrEmpty(searchObject.SearchStatus.ResultsPath) && aduser != null) { string serverFqdn = ExchangePrincipal.FromADUser(e14DataProvider.RecipientSession.SessionSettings, aduser, RemotingOptions.AllowCrossSite).MailboxInfo.Location.ServerFqdn; if (!string.IsNullOrEmpty(serverFqdn)) { goto IL_395; } Utils.< > c__DisplayClassc CS$ < > 8__locals1 = new Utils.< > c__DisplayClassc(); CS$ < > 8__locals1.searchId = new SearchId(e14DataProvider.ADUser.Id.DistinguishedName, e14DataProvider.ADUser.Id.ObjectGuid, searchObject.Id.Guid.ToString()); using (MailboxSearchClient client = new MailboxSearchClient(serverFqdn)) { Utils.RpcCallWithRetry(delegate() { client.Remove(CS$ < > 8__locals1.searchId, true); }); goto IL_395; } } e14DataProvider.Delete(searchObject.SearchStatus); } IL_395: e14DataProvider.Delete(searchObject); } catch (RpcConnectionException ex2) { ex = ex2; } catch (RpcException ex3) { ex = ex3; } catch (StoragePermanentException ex4) { ex = ex4; } catch (StorageTransientException ex5) { ex = ex5; } if (ex != null) { writeWarningDelegate(Strings.FailedToDeleteE14SearchObjectWhenUpgrade(searchObject.Name, ex.Message)); } return(e15DataProvider.FindByAlternativeId <MailboxDiscoverySearch>(searchObject.Name)); }
internal static bool SameNameExists(string name, DiscoverySearchDataProvider e15DataProvider, MailboxDataProvider e14DataProvider) { return(e15DataProvider.Find <MailboxDiscoverySearch>(name) != null || Utils.GetE14SearchObjectByName(name, e14DataProvider) != null); }
protected override ADUser CreateOnCacheMiss(Guid key, ref bool shouldAdd) { IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, true, ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromExternalDirectoryOrganizationId(key), 42, "CreateOnCacheMiss", "f:\\15.00.1497\\sources\\dev\\data\\src\\storage\\UnifiedPolicy\\SyncArbitrationMailboxADObjectCache.cs"); return(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession)); }