/// <summary> /// Serializable Mail Message Contstructor /// </summary> /// <param name="mailMessage">Original Mail Message to be serialized</param> public SerializableMailMessage(MailMessage mailMessage) { MailID = Guid.NewGuid().ToString(); this.IsBodyHtml = mailMessage.IsBodyHtml; this.Body = mailMessage.Body; this.Subject = mailMessage.Subject; this.SerializedFrom = SerializableMailAddress.GetSerializableMailAddress(mailMessage.From); this.serializedTo = new List <SerializableMailAddress>(); foreach (var ma in mailMessage.To) { this.serializedTo.Add(SerializableMailAddress.GetSerializableMailAddress(ma)); } this.serializedBcc = new List <SerializableMailAddress>(); foreach (var ma in mailMessage.Bcc) { this.serializedBcc.Add(SerializableMailAddress.GetSerializableMailAddress(ma)); } this.serializedCC = new List <SerializableMailAddress>(); foreach (var ma in mailMessage.CC) { this.serializedCC.Add(SerializableMailAddress.GetSerializableMailAddress(ma)); } this.serializedReplyTo = new List <SerializableMailAddress>(); foreach (var ma in mailMessage.ReplyToList) { this.serializedReplyTo.Add(SerializableMailAddress.GetSerializableMailAddress(ma)); } this.serializedAttachments = new List <SerializableAttachment>(); foreach (var att in mailMessage.Attachments) { this.serializedAttachments.Add(SerializableAttachment.GetSerializeableAttachment(att)); } this.bodyEncoding = mailMessage.BodyEncoding; this.serializedDeliveryNotificationOptions = mailMessage.DeliveryNotificationOptions; this.serializedHeaders = SerializableCollection.GetSerializableCollection(mailMessage.Headers); this.mailPriority = mailMessage.Priority; this.SerializedSender = SerializableMailAddress.GetSerializableMailAddress(mailMessage.Sender); this.subjectEncoding = mailMessage.SubjectEncoding; foreach (var av in mailMessage.AlternateViews) { this.serializedAlternateViews.Add(SerializableAlternateView.GetSerializableAlternateView(av)); } }
public static SerializableCollection GetSerializableCollection(StringDictionary col) { if (col == null) { return(null); } var scol = new SerializableCollection(); foreach (String key in col.Keys) { scol.collection.Add(key, col[key]); } return(scol); }
/// <summary> /// Returns serializable content type /// </summary> /// <param name="contentType">Original content type</param> /// <returns>serialized content type</returns> public static SerializableContentType GetSerializableContentType(ContentType contentType) { if (contentType == null) { return(null); } var serializedContentType = new SerializableContentType { name = contentType.Name, boundary = contentType.Boundary, mediaType = contentType.MediaType, charSet = contentType.CharSet, serializedColParameters = SerializableCollection.GetSerializableCollection(contentType.Parameters) }; return(serializedContentType); }
/// <summary> /// Serailizes ontent disposition /// </summary> /// <param name="contentDisposition">content disposition to be serialized</param> /// <returns>serialized content disposition</returns> public static SerializableContentDisposition GetSerializableContentDisposition(ContentDisposition contentDisposition) { if (contentDisposition == null) { return(null); } var serializedContentDisposition = new SerializableContentDisposition { creationDate = contentDisposition.CreationDate, dispositionType = contentDisposition.DispositionType, fileName = contentDisposition.FileName, inline = contentDisposition.Inline, modificationDate = contentDisposition.ModificationDate, serializedColParameters = SerializableCollection.GetSerializableCollection(contentDisposition.Parameters), readDate = contentDisposition.ReadDate, size = contentDisposition.Size }; return(serializedContentDisposition); }