Smuxi.Engine.Dto.MessageDtoModelV1.ToMessage C# (CSharp) Method

ToMessage() public method

public ToMessage ( ) : MessageModel
return MessageModel
        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;
        }

Usage Example

 public void SerializeDeserializeComplexMessage()
 {
     var dtoMsg = new MessageDtoModelV1(ComplexMessage);
     var json = JsonSerializer.SerializeToString(dtoMsg);
     var dtoMsg2 = JsonSerializer.DeserializeFromString<MessageDtoModelV1>(json);
     Assert.AreEqual(dtoMsg.ToMessage(), dtoMsg2.ToMessage());
     Assert.AreEqual(ComplexMessage, dtoMsg.ToMessage());
     Assert.AreEqual(ComplexMessage, dtoMsg2.ToMessage());
 }
All Usage Examples Of Smuxi.Engine.Dto.MessageDtoModelV1::ToMessage