Esempio n. 1
0
        internal static Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingReportResponseMessageType CopyDispatcherTypeToEWSType(Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.FindMessageTrackingReportResponseMessageType dispatcherResponse)
        {
            if (dispatcherResponse == null)
            {
                return(null);
            }
            Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingReportResponseMessageType findMessageTrackingReportResponseMessageType = new Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingReportResponseMessageType();
            findMessageTrackingReportResponseMessageType.Diagnostics         = dispatcherResponse.Diagnostics;
            findMessageTrackingReportResponseMessageType.Properties          = MessageConverter.CopyTrackingProperties(dispatcherResponse.Properties);
            findMessageTrackingReportResponseMessageType.ExecutedSearchScope = dispatcherResponse.ExecutedSearchScope;
            findMessageTrackingReportResponseMessageType.Errors = MessageConverter.CopyErrors(dispatcherResponse.Errors);
            Microsoft.Exchange.SoapWebClient.EWS.ResponseCodeType responseCode;
            if (EnumValidator <Microsoft.Exchange.SoapWebClient.EWS.ResponseCodeType> .TryParse(dispatcherResponse.ResponseCode, EnumParseOptions.Default, out responseCode))
            {
                findMessageTrackingReportResponseMessageType.ResponseCode = responseCode;
            }
            else
            {
                TraceWrapper.SearchLibraryTracer.TraceError <string>(0, "{0} cannot be converted to a valid ResponseCodeType, mapping to ErrorMessageTrackingPermanentError", dispatcherResponse.ResponseCode);
                findMessageTrackingReportResponseMessageType.ResponseCode = Microsoft.Exchange.SoapWebClient.EWS.ResponseCodeType.ErrorMessageTrackingPermanentError;
            }
            findMessageTrackingReportResponseMessageType.ResponseClass = EnumConverter <Microsoft.Exchange.SoapWebClient.EWS.ResponseClassType, Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.ResponseClassType> .Convert(dispatcherResponse.ResponseClass);

            findMessageTrackingReportResponseMessageType.MessageText = dispatcherResponse.MessageText;
            if (dispatcherResponse.MessageTrackingSearchResults == null)
            {
                return(findMessageTrackingReportResponseMessageType);
            }
            findMessageTrackingReportResponseMessageType.MessageTrackingSearchResults = new Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingSearchResultType[dispatcherResponse.MessageTrackingSearchResults.Length];
            for (int i = 0; i < dispatcherResponse.MessageTrackingSearchResults.Length; i++)
            {
                Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.FindMessageTrackingSearchResultType findMessageTrackingSearchResultType = dispatcherResponse.MessageTrackingSearchResults[i];
                Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingSearchResultType findMessageTrackingSearchResultType2 = new Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingSearchResultType();
                findMessageTrackingSearchResultType2.MessageTrackingReportId = findMessageTrackingSearchResultType.MessageTrackingReportId;
                findMessageTrackingSearchResultType2.PreviousHopServer       = findMessageTrackingSearchResultType.PreviousHopServer;
                findMessageTrackingSearchResultType2.PurportedSender         = MessageConverter.CopyEmailAddress(findMessageTrackingSearchResultType.PurportedSender);
                findMessageTrackingSearchResultType2.Recipients     = MessageConverter.CopyEmailAddressArray(findMessageTrackingSearchResultType.Recipients);
                findMessageTrackingSearchResultType2.Sender         = MessageConverter.CopyEmailAddress(findMessageTrackingSearchResultType.Sender);
                findMessageTrackingSearchResultType2.Subject        = findMessageTrackingSearchResultType.Subject;
                findMessageTrackingSearchResultType2.SubmittedTime  = findMessageTrackingSearchResultType.SubmittedTime;
                findMessageTrackingSearchResultType2.FirstHopServer = findMessageTrackingSearchResultType.FirstHopServer;
                findMessageTrackingSearchResultType2.Properties     = MessageConverter.CopyTrackingProperties(findMessageTrackingSearchResultType.Properties);
                findMessageTrackingReportResponseMessageType.MessageTrackingSearchResults[i] = findMessageTrackingSearchResultType2;
            }
            return(findMessageTrackingReportResponseMessageType);
        }
Esempio n. 2
0
        Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingReportResponseMessageType IClientProxy.FindMessageTrackingReport(FindMessageTrackingReportRequestTypeWrapper request, TimeSpan timeout)
        {
            FindMessageTrackingQuery       findMessageTrackingQuery       = new FindMessageTrackingQuery(this.proxyRecipient, this.domain, this.directoryContext, request, this.ewsVersionRequested, timeout);
            FindMessageTrackingQueryResult findMessageTrackingQueryResult = findMessageTrackingQuery.Execute();

            if (findMessageTrackingQueryResult == null)
            {
                TraceWrapper.SearchLibraryTracer.TraceError(this.GetHashCode(), "Empty result in Request Dispatcher FindMessageTrackingQuery.Execute", new object[0]);
                return(null);
            }
            Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.FindMessageTrackingReportResponseMessageType response = findMessageTrackingQueryResult.Response;
            return(MessageConverter.CopyDispatcherTypeToEWSType(findMessageTrackingQueryResult.Response));
        }