internal static SharingMessage GetSharingMessage(MessageItem item) { StreamAttachment sharingMessageAttachment = SharingMessageAttachment.GetSharingMessageAttachment(item); if (sharingMessageAttachment != null) { using (sharingMessageAttachment) { using (Stream stream = sharingMessageAttachment.TryGetContentStream(PropertyOpenMode.ReadOnly)) { SharingMessage sharingMessage = null; try { sharingMessage = SharingMessage.DeserializeFromStream(stream); } catch (InvalidOperationException) { } if (sharingMessage != null) { ValidationResults validationResults = sharingMessage.Validate(); if (validationResults.Result == ValidationResult.Success) { return(sharingMessage); } } } } } return(null); }
private static StreamAttachment GetOrCreateSharingMessageAttachment(MessageItem item) { StreamAttachment streamAttachment = SharingMessageAttachment.GetSharingMessageAttachment(item); if (streamAttachment == null) { streamAttachment = (StreamAttachment)item.AttachmentCollection.Create(AttachmentType.Stream); } return(streamAttachment); }