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