Exemple #1
0
    public static IAppMessage Combine(IAppMessage m1, IAppMessage m2)
    {
        if (Object.ReferenceEquals(m1, m2))
        {
            return(m1);
        }

        var level    = (EventLevel)Math.Min((int)m1.EventLevel, (int)m2.EventLevel);
        var template = "FIX ME" + m1.MessageTemplate + "\r\n" + m2.MessageTemplate;
        var ts       = m1.Timestamp >= m2.Timestamp ? m1.Timestamp : m2.Timestamp;
        var content  = new
        {
            Part1 = m1.SemanticContent,
            Part2 = m2.SemanticContent
        };
        var state = new AppMessgaeState(
            Template: template,
            Content: content,
            Timestamp: ts,
            CorrelationToken: m2.CT,
            Level: level,
            MessageType: m2.MessageType
            );

        return(new AppMessage(state));
    }
Exemple #2
0
 internal AppMessage(AppMessgaeState state)
 => this.state = state;
Exemple #3
0
 public static IAppMessage FromState(AppMessgaeState state)
 => new AppMessage(state);