// Token: 0x06001AC0 RID: 6848 RVA: 0x00064FF8 File Offset: 0x000631F8 private ServiceResult <EwsRoomType[]> GetAllAvailableRooms() { UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true); QueryFilter filter = null; AddressLists addressLists = new AddressLists(base.CallContext.EffectiveCaller.ClientSecurityContext, base.MailboxIdentityMailboxSession.MailboxOwner, userContext); ADSessionSettings sessionSettings; if (addressLists.AllRoomsAddressList == null) { filter = new OrFilter(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.RecipientDisplayType, RecipientDisplayType.ConferenceRoomMailbox), new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.RecipientDisplayType, RecipientDisplayType.SyncedConferenceRoomMailbox) }); sessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(addressLists.GlobalAddressList.OrganizationId, addressLists.GlobalAddressList.Id); } else { sessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(addressLists.AllRoomsAddressList.OrganizationId, addressLists.AllRoomsAddressList.Id); } int lcid = 0; CultureInfo cultureInfo = base.CallContext.AccessingPrincipal.PreferredCultures.FirstOrDefault <CultureInfo>(); if (cultureInfo != null) { lcid = cultureInfo.LCID; } IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, null, lcid, true, ConsistencyMode.IgnoreInvalid, null, sessionSettings, 123, "GetAllAvailableRooms", "f:\\15.00.1497\\sources\\dev\\clients\\src\\Owa2\\Server\\Core\\ServiceCommands\\GetRoomsInternal.cs"); ADRecipient[] rooms = tenantOrRootOrgRecipientSession.Find(null, QueryScope.SubTree, filter, new SortBy(ADRecipientSchema.DisplayName, SortOrder.Ascending), 100); return(new ServiceResult <EwsRoomType[]>(GetRooms.GetRoomTypes(rooms, this.GetHashCode()).ToArray())); }
private IRecipientSession CreateGalScopedRecipientSession(AddressBookBase globalAddressList) { ADSessionSettings adsessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(this.organizationId, (globalAddressList != null) ? globalAddressList.Id : null); adsessionSettings.AccountingObject = null; return(DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, this.searchRoot, this.lcid, true, this.consistencyMode, null, adsessionSettings, 641, "CreateGalScopedRecipientSession", "f:\\15.00.1497\\sources\\dev\\AirSync\\src\\AirSync\\GalSearch\\ADABSession.cs")); }
// Token: 0x0600142A RID: 5162 RVA: 0x00048BF8 File Offset: 0x00046DF8 private IRecipientSession GetRecipientSession() { ADSessionSettings sessionSettings; if (this.exchangePrincipal.MailboxInfo.Configuration.AddressBookPolicy != null) { sessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(this.exchangePrincipal.MailboxInfo.OrganizationId, this.globalAddressListId); } else { sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(this.exchangePrincipal.MailboxInfo.OrganizationId); } return(DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, null, CultureInfo.CurrentCulture.LCID, true, ConsistencyMode.IgnoreInvalid, null, sessionSettings, 210, "GetRecipientSession", "f:\\15.00.1497\\sources\\dev\\clients\\src\\Owa2\\Server\\Core\\people\\AddressLists.cs")); }
// Token: 0x060007D1 RID: 2001 RVA: 0x00019B1C File Offset: 0x00017D1C internal static IRecipientSession CreateADRecipientSession(int lcid, bool readOnly, ConsistencyMode consistencyMode, bool useDirectorySearchRoot, UserContext userContext, bool scopeToGal, IBudget budget) { ADSessionSettings adsessionSettings; if (scopeToGal) { adsessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(userContext.ExchangePrincipal.MailboxInfo.OrganizationId, (userContext.GetGlobalAddressList(budget) != null) ? userContext.GetGlobalAddressList(budget).Id : null); } else if (userContext.ExchangePrincipal.MailboxInfo.Configuration.AddressBookPolicy != null) { adsessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(userContext.ExchangePrincipal.MailboxInfo.OrganizationId, userContext.GlobalAddressListId); } else { adsessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(userContext.ExchangePrincipal.MailboxInfo.OrganizationId); } adsessionSettings.AccountingObject = budget; return(DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, useDirectorySearchRoot ? userContext.MailboxIdentity.GetOWAMiniRecipient().QueryBaseDN : null, lcid, readOnly, consistencyMode, null, adsessionSettings, 436, "CreateADRecipientSession", "f:\\15.00.1497\\sources\\dev\\clients\\src\\Owa2\\Server\\Core\\common\\UserContextUtilities.cs")); }
private static void ScopeADRecipientCache(TransportMailItem item) { Guid gal = StoreDriverDelivery.GetGal(item.RootPart.Headers); if (gal == Guid.Empty) { return; } ADObjectId scopingAddressListId = new ADObjectId(gal); ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(item.OrganizationId, scopingAddressListId); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 921, "ScopeADRecipientCache", "f:\\15.00.1497\\sources\\dev\\MailboxTransport\\src\\MailboxTransportDelivery\\StoreDriver\\StoreDriverDelivery.cs"); ADRecipientCache <TransportMiniRecipient> adrecipientCache = new ADRecipientCache <TransportMiniRecipient>(tenantOrRootOrgRecipientSession, TransportMiniRecipientSchema.Properties, 1, item.OrganizationId); Guid addressBookPolicy = StoreDriverDelivery.GetAddressBookPolicy(item.RootPart.Headers); foreach (ProxyAddress proxyAddress in item.ADRecipientCache.Keys) { Result <TransportMiniRecipient> result; if (item.ADRecipientCache.TryGetValue(proxyAddress, out result) && result.Data != null && result.Data.AddressBookPolicy != null && result.Data.AddressBookPolicy.ObjectGuid == addressBookPolicy) { adrecipientCache.AddCacheEntry(proxyAddress, result); } } item.ADRecipientCache = adrecipientCache; }
// Token: 0x0600123B RID: 4667 RVA: 0x00068564 File Offset: 0x00066764 public static ADAddressListEnumerator Create(ADObjectId addressList, OrganizationId organizationId, IEnumerable <ADPropertyDefinition> properties, int pageSize, GenerationStats stats) { IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(organizationId, addressList), 48, "Create", "f:\\15.00.1497\\sources\\dev\\MailboxAssistants\\src\\assistants\\OABGenerator\\ADAddressListEnumerator.cs"); QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.AddressListMembership, addressList); return(new ADAddressListEnumerator(tenantOrRootOrgRecipientSession, null, QueryScope.SubTree, filter, null, pageSize, properties, tenantOrRootOrgRecipientSession.SessionSettings.SkipCheckVirtualIndex) { session = tenantOrRootOrgRecipientSession, stats = stats }); }