public virtual MessageModel ToMessage()
{
var msg = new MessageModel() {
MessageType = this.MessageType,
TimeStamp = this.TimeStamp
};
foreach (var msgPart in MessageParts) {
MessagePartModel part = null;
switch (msgPart.Type) {
case "Text":
var textPart = new TextMessagePartModel() {
ForegroundColor = msgPart.ForegroundColor,
BackgroundColor = msgPart.BackgroundColor,
Underline = msgPart.Underline,
Bold = msgPart.Bold,
Italic = msgPart.Italic,
Text = msgPart.Text
};
part = textPart;
break;
case "URL":
var urlPart = new UrlMessagePartModel() {
Url = msgPart.Url,
Text = msgPart.Text
};
part = urlPart;
break;
case "Image":
var imagePart = new ImageMessagePartModel() {
ImageFileName = msgPart.ImageFileName,
AlternativeText = msgPart.AlternativeText
};
part = imagePart;
break;
}
if (part == null) {
continue;
}
part.IsHighlight = msgPart.IsHighlight;
msg.MessageParts.Add(part);
}
return msg;
}