sidepop.Mime.MimeEntity.BuildMultiPartMessage C# (CSharp) Method

BuildMultiPartMessage() private method

Builds the multi part message.
private BuildMultiPartMessage ( MimeEntity entity, SidePOPMailMessage message ) : void
entity MimeEntity The entity.
message sidepop.Mail.SidePOPMailMessage The message.
return void
        private void BuildMultiPartMessage(MimeEntity entity, SidePOPMailMessage message)
        {
            foreach (MimeEntity child in entity.Children)
            {
                if (string.Equals(child.ContentType.MediaType, MediaTypes.MultipartAlternative,
                                  StringComparison.InvariantCultureIgnoreCase)
                    ||
                    string.Equals(child.ContentType.MediaType, MediaTypes.MultipartMixed,
                                  StringComparison.InvariantCultureIgnoreCase))
                {
                    BuildMultiPartMessage(child, message);
                } //if the message is mulitpart/alternative or multipart/mixed then the entity will have children needing parsed.
                else if (!IsAttachment(child) &&
                         (string.Equals(child.ContentType.MediaType, MediaTypes.TextPlain)
                          || string.Equals(child.ContentType.MediaType, MediaTypes.TextHtml)))
                {
                    message.AlternateViews.Add(CreateAlternateView(child));
                    SetMessageBody(message, child);
                } //add the alternative views.
                else if (string.Equals(child.ContentType.MediaType, MediaTypes.MessageRfc822,
                                       StringComparison.InvariantCultureIgnoreCase)
                         &&
                            child.ContentDisposition != null // RFC 2183 specifies the 'Content-Disposition' header field, which is optional and valid for any MIME entity ("message" or "body part")
                         &&
                            string.Equals(child.ContentDisposition.DispositionType, DispositionTypeNames.Attachment,
                                       StringComparison.InvariantCultureIgnoreCase))
                {
                    message.Children.Add(ToMailMessageEx(child));
                } //create a child message and
                else if (IsAttachment(child))
                {
                    message.Attachments.Add(CreateAttachment(child));
                }
            }
        }