internal BaseQueryResult GetDataInternal(FreeBusyQuery freeBusyQuery, EmailAddress emailAddress)
        {
            BaseQueryResult result;

            try
            {
                TimeSpan t = this.deadline - DateTime.UtcNow;
                if (t <= TimeSpan.Zero)
                {
                    result = this.HandleException(emailAddress, new TimeoutExpiredException("Opening-Mailbox-Session"));
                }
                else
                {
                    using (MailboxSession mailboxSession = MailboxSession.OpenAsSystemService(freeBusyQuery.ExchangePrincipal, CultureInfo.InvariantCulture, "Client=AS"))
                    {
                        mailboxSession.AccountingObject = this.clientContext.Budget;
                        this.clientContext.CheckOverBudget();
                        Microsoft.Exchange.Diagnostics.Components.InfoWorker.Availability.ExTraceGlobals.FaultInjectionTracer.TraceTest(2204511549U);
                        t = this.deadline - DateTime.UtcNow;
                        if (t <= TimeSpan.Zero)
                        {
                            result = this.HandleException(emailAddress, new TimeoutExpiredException("Starting-Calendar-Query"));
                        }
                        else
                        {
                            result = this.InternalGetCalendarData(freeBusyQuery, mailboxSession);
                        }
                    }
                }
            }
            catch (MailboxInSiteFailoverException e)
            {
                result = this.HandleMailboxFailoverException(emailAddress, e);
            }
            catch (MailboxCrossSiteFailoverException e2)
            {
                result = this.HandleMailboxFailoverException(emailAddress, e2);
            }
            catch (VirusScanInProgressException e3)
            {
                LocalizedString message = Strings.descVirusScanInProgress(emailAddress.ToString());
                result = this.HandleException(emailAddress, e3, message);
            }
            catch (VirusDetectedException e4)
            {
                LocalizedString message2 = Strings.descVirusDetected(emailAddress.ToString());
                result = this.HandleException(emailAddress, e4, message2);
            }
            catch (AuthzException innerException)
            {
                result = this.HandleException(emailAddress, new Win32InteropException(innerException));
            }
            catch (LocalizedException e5)
            {
                result = this.HandleConnectionException(emailAddress, e5);
            }
            return(result);
        }
Beispiel #2
0
 public E14orHigherProxyServerNotFound(EmailAddress requester, int minimumServerVersion) : base(ErrorConstants.E14orHigherProxyServerNotFound, Strings.descE14orHigherProxyServerNotFound(requester.ToString(), minimumServerVersion))
 {
 }
 private IEnumerable <RecipientData> ProcessResults(EmailAddress[] emailAddressArray, int startIndex, int size, Result <ADRawEntry>[] resultsArray, List <int> indexList)
 {
     for (int index = 0; index < size; index++)
     {
         int resultIndex = indexList.IndexOf(index);
         if (-1 == resultIndex)
         {
             EmailAddress invalidAddress = emailAddressArray[startIndex + index];
             yield return(RecipientData.Create(emailAddressArray[startIndex + index], new InvalidSmtpAddressException(Strings.descInvalidSmtpAddress((invalidAddress == null) ? "null" : invalidAddress.ToString()))));
         }
         else
         {
             Result <ADRawEntry> result = resultsArray[resultIndex];
             if (result.Error == null)
             {
                 yield return(RecipientData.Create(emailAddressArray[startIndex + index], result.Data, this.propertyDefinitionArray));
             }
             else
             {
                 yield return(RecipientData.Create(emailAddressArray[startIndex + index], result.Error));
             }
         }
     }
     yield break;
 }
 public ProxyServerWithMinimumRequiredVersionNotFound(EmailAddress requester, int serverVersion, int minimumServerVersion) : base(ErrorConstants.E14orHigherProxyServerNotFound, Strings.descMinimumRequiredVersionProxyServerNotFound(serverVersion, minimumServerVersion, requester.ToString()))
 {
 }
 public ProxyNotAllowedForPersonalRelationship(EmailAddress recipient) : base(ErrorConstants.ProxyForPersonalNotAllowed, Strings.descProxyForPersonalNotAllowed(recipient.ToString()))
 {
 }