예제 #1
0
        private InternalGetMessageTrackingReportResponse(string domain, Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.GetMessageTrackingReportResponseMessageType dispatcherResponse)
        {
            this.Response             = new Microsoft.Exchange.SoapWebClient.EWS.GetMessageTrackingReportResponseMessageType();
            this.Response.Diagnostics = dispatcherResponse.Diagnostics;
            Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.MessageTrackingReportType messageTrackingReport = dispatcherResponse.MessageTrackingReport;
            Microsoft.Exchange.SoapWebClient.EWS.MessageTrackingReportType messageTrackingReportType = new Microsoft.Exchange.SoapWebClient.EWS.MessageTrackingReportType();
            messageTrackingReportType.OriginalRecipients  = MessageConverter.CopyEmailAddressArray(messageTrackingReport.OriginalRecipients);
            messageTrackingReportType.PurportedSender     = MessageConverter.CopyEmailAddress(messageTrackingReport.PurportedSender);
            messageTrackingReportType.Sender              = MessageConverter.CopyEmailAddress(messageTrackingReport.Sender);
            messageTrackingReportType.Subject             = messageTrackingReport.Subject;
            messageTrackingReportType.SubmitTime          = messageTrackingReport.SubmitTime;
            messageTrackingReportType.SubmitTimeSpecified = messageTrackingReport.SubmitTimeSpecified;
            messageTrackingReportType.Properties          = MessageConverter.CopyTrackingProperties(dispatcherResponse.Properties);
            this.Response.MessageTrackingReport           = messageTrackingReportType;
            this.Response.Properties = MessageConverter.CopyTrackingProperties(dispatcherResponse.Properties);
            this.Response.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))
            {
                this.Response.ResponseCode = responseCode;
            }
            else
            {
                TraceWrapper.SearchLibraryTracer.TraceError <string>(0, "{0} cannot be converted to a valid ResponseCodeType, mapping to ErrorMessageTrackingPermanentError", dispatcherResponse.ResponseCode);
                this.Response.ResponseCode = Microsoft.Exchange.SoapWebClient.EWS.ResponseCodeType.ErrorMessageTrackingPermanentError;
            }
            this.Response.ResponseClass = EnumConverter <Microsoft.Exchange.SoapWebClient.EWS.ResponseClassType, Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.ResponseClassType> .Convert(dispatcherResponse.ResponseClass);

            this.Response.MessageText = dispatcherResponse.MessageText;
            messageTrackingReportType.RecipientTrackingEvents = null;
            this.RecipientTrackingEvents = InternalGetMessageTrackingReportResponse.CreateEventList <Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.RecipientTrackingEventType>(domain, messageTrackingReport.RecipientTrackingEvents, InternalGetMessageTrackingReportResponse.dispatcherConversionDelegate);
        }
예제 #2
0
 private InternalGetMessageTrackingReportResponse(string domain, Microsoft.Exchange.SoapWebClient.EWS.GetMessageTrackingReportResponseMessageType response)
 {
     this.Response = response;
     this.RecipientTrackingEvents = InternalGetMessageTrackingReportResponse.CreateEventList <Microsoft.Exchange.SoapWebClient.EWS.RecipientTrackingEventType>(domain, response.MessageTrackingReport.RecipientTrackingEvents, InternalGetMessageTrackingReportResponse.ewsConversionDelegate);
     response.MessageTrackingReport.RecipientTrackingEvents = null;
 }