// Token: 0x06000028 RID: 40 RVA: 0x000026E8 File Offset: 0x000008E8 private AutoDiscoverV2Response ExecuteOnPremEndFlow(AutoDiscoverV2Request request) { this.logger.AppendGenericInfo("ExecuteOnPremEndFlow", "OnPrem"); ADRecipient onPremUser = this.tenantRepository.GetOnPremUser(request.EmailAddress); if (onPremUser == null) { this.logger.AppendGenericInfo("TryGetEmailRedirectResponse", "UserNotFound"); IAutodMiniRecipient nextUserFromSortedList = this.tenantRepository.GetNextUserFromSortedList(request.EmailAddress); if (nextUserFromSortedList != null) { this.logger.AppendGenericInfo("TryGetEmailRedirectResponse", "FoundRandomUser"); AutoDiscoverV2Response result; if (this.TryGetEmailRedirectResponse(request, nextUserFromSortedList, out result)) { return(result); } } return(this.GetResourceUrlResponse(this.flightSettings.GetHostNameFromVdir(null, request.Protocol), request.Protocol)); } AutoDiscoverV2Response result2; if (this.TryGetEmailRedirectResponse(request, onPremUser, out result2)) { return(result2); } return(this.GetResourceUrlResponse(this.flightSettings.GetHostNameFromVdir(null, request.Protocol), request.Protocol)); }
// Token: 0x06000029 RID: 41 RVA: 0x000027B8 File Offset: 0x000009B8 private bool TryGetEmailRedirectResponse(AutoDiscoverV2Request request, IAutodMiniRecipient recipient, out AutoDiscoverV2Response redirectResponse) { redirectResponse = null; if (recipient == null) { return(false); } this.logger.AppendGenericInfo("TryGetEmailRedirectResponseUserFound", recipient.RecipientType); if (recipient.ExternalEmailAddress != null && recipient.ExternalEmailAddress.AddressString != null && recipient.ExternalEmailAddress.PrefixString == "SMTP") { this.logger.AppendGenericInfo("TryGetEmailRedirectResponse", string.Format("ExternalEmailAddressFound - {0}", recipient.ExternalEmailAddress.AddressString)); redirectResponse = ResourceUrlBuilder.GetRedirectResponse(this.logger, "outlook.office365.com", recipient.ExternalEmailAddress.AddressString, request.Protocol, request.RedirectCount, null); return(true); } return(false); }