internal static SerializeableAlternateView GetSerializeableAlternateView(AlternateView av) { if (av == null) { return(null); } SerializeableAlternateView sav = new SerializeableAlternateView(); sav.BaseUri = av.BaseUri; sav.ContentId = av.ContentId; if (av.ContentStream != null) { byte[] bytes = new byte[av.ContentStream.Length]; av.ContentStream.Read(bytes, 0, bytes.Length); sav.ContentStream = new MemoryStream(bytes); } sav.ContentType = SerializeableContentType.GetSerializeableContentType(av.ContentType); foreach (LinkedResource lr in av.LinkedResources) { sav.LinkedResources.Add(SerializeableLinkedResource.GetSerializeableLinkedResource(lr)); } sav.TransferEncoding = av.TransferEncoding; return(sav); }
/// /// Creates a new serializeable mailmessage based on a MailMessage object /// /// public SerializeableMailMessage(MailMessage mm) { IsBodyHtml = mm.IsBodyHtml; Body = mm.Body; Subject = mm.Subject; From = SerializeableMailAddress.GetSerializeableMailAddress(mm.From); To = new List <SerializeableMailAddress>(); foreach (MailAddress ma in mm.To) { To.Add(SerializeableMailAddress.GetSerializeableMailAddress(ma)); } CC = new List <SerializeableMailAddress>(); foreach (MailAddress ma in mm.CC) { CC.Add(SerializeableMailAddress.GetSerializeableMailAddress(ma)); } Bcc = new List <SerializeableMailAddress>(); foreach (MailAddress ma in mm.Bcc) { Bcc.Add(SerializeableMailAddress.GetSerializeableMailAddress(ma)); } Attachments = new List <SerializeableAttachment>(); foreach (Attachment att in mm.Attachments) { Attachments.Add(SerializeableAttachment.GetSerializeableAttachment(att)); } BodyEncoding = mm.BodyEncoding; DeliveryNotificationOptions = mm.DeliveryNotificationOptions; Headers = SerializeableCollection.GetSerializeableCollection(mm.Headers); Priority = mm.Priority; ReplyTo = SerializeableMailAddress.GetSerializeableMailAddress(mm.ReplyTo); Sender = SerializeableMailAddress.GetSerializeableMailAddress(mm.Sender); SubjectEncoding = mm.SubjectEncoding; foreach (AlternateView av in mm.AlternateViews) { AlternateViews.Add(SerializeableAlternateView.GetSerializeableAlternateView(av)); } }