public static Message ToMessage(this Entity entity) { var message = new Message(); var subjectHeader = entity.Headers.Where(x => x.Name.ToLower() == "subject").FirstOrDefault(); if (subjectHeader != null) { message.Subject = subjectHeader.Value; } var dateHeader = entity.Headers.Where(x => x.Name.ToLower() == "date").FirstOrDefault(); if (dateHeader != null) { message.Date = DateTime.Parse(dateHeader.Value.RemoveComments()); } var contactParser = new ContactCollectionParser(); var fromHeader = entity.Headers.Where(x => x.Name.ToLower() == "from").FirstOrDefault(); if (fromHeader != null) { var contacts = (IEnumerable <EmailContact>)contactParser.Parse(fromHeader.Value); ((List <EmailContact>)message.From).AddRange(contacts); } var toHeader = entity.Headers.Where(x => x.Name.ToLower() == "to").FirstOrDefault(); if (toHeader != null) { var contacts = (IEnumerable <EmailContact>)contactParser.Parse(toHeader.Value); ((List <EmailContact>)message.To).AddRange(contacts); } var ccHeader = entity.Headers.Where(x => x.Name.ToLower() == "cc").FirstOrDefault(); if (ccHeader != null) { var contacts = (IEnumerable <EmailContact>)contactParser.Parse(ccHeader.Value); ((List <EmailContact>)message.Ccs).AddRange(contacts); } var bccHeader = entity.Headers.Where(x => x.Name.ToLower() == "bcc").FirstOrDefault(); if (bccHeader != null) { var contacts = (IEnumerable <EmailContact>)contactParser.Parse(bccHeader.Value); ((List <EmailContact>)message.Bccs).AddRange(contacts); } var replyToHeader = entity.Headers.Where(x => x.Name.ToLower() == "reply-to").FirstOrDefault(); if (replyToHeader != null) { message.ReplyTo = replyToHeader.Value; } message.Headers.AddRange(entity.Headers); ParseEntity(message, entity, null); return(message); }
public static Message ToMessage(this Entity entity) { var message = new Message(); var subjectHeader = entity.Headers.Where(x => x.Name.ToLower() == "subject").FirstOrDefault(); if (subjectHeader != null) { message.Subject = subjectHeader.Value; } var dateHeader = entity.Headers.Where(x => x.Name.ToLower() == "date").FirstOrDefault(); if (dateHeader != null) { message.Date = DateTime.Parse(dateHeader.Value.RemoveComments()); } var contactParser = new ContactCollectionParser(); var fromHeader = entity.Headers.Where(x => x.Name.ToLower() == "from").FirstOrDefault(); if (fromHeader != null) { var contacts = (IEnumerable<EmailContact>) contactParser.Parse(fromHeader.Value); ((List<EmailContact>) message.From).AddRange(contacts); } var toHeader = entity.Headers.Where(x => x.Name.ToLower() == "to").FirstOrDefault(); if (toHeader != null) { var contacts = (IEnumerable<EmailContact>) contactParser.Parse(toHeader.Value); ((List<EmailContact>) message.To).AddRange(contacts); } var ccHeader = entity.Headers.Where(x => x.Name.ToLower() == "cc").FirstOrDefault(); if (ccHeader != null) { var contacts = (IEnumerable<EmailContact>) contactParser.Parse(ccHeader.Value); ((List<EmailContact>) message.Ccs).AddRange(contacts); } var bccHeader = entity.Headers.Where(x => x.Name.ToLower() == "bcc").FirstOrDefault(); if (bccHeader != null) { var contacts = (IEnumerable<EmailContact>) contactParser.Parse(bccHeader.Value); ((List<EmailContact>) message.Bccs).AddRange(contacts); } var replyToHeader = entity.Headers.Where(x => x.Name.ToLower() == "reply-to").FirstOrDefault(); if (replyToHeader != null) { message.ReplyTo = replyToHeader.Value; } message.Headers.AddRange(entity.Headers); ParseEntity(message, entity, null); return message; }