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); }
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)); }