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)); }
internal AppMessage(AppMessgaeState state) => this.state = state;
public static IAppMessage FromState(AppMessgaeState state) => new AppMessage(state);