private IEnumerable <MM.Message> Constituents(MM.Message msg) { MM.Batch bMsg = msg as MM.Batch; if (bMsg != null) { foreach (var m in bMsg.Messages) { yield return(m); } } else { if (Family) { while (msg != null) { yield return(msg); msg = msg.DerivedFrom; } } else { yield return(msg); } } }
public bool WhileCondition(MM.Message msg) { try { return(While.EvaluateBool(new MessageContext(msg, this))); } catch (Exception ex) { logger.Warn(ex, "{0} thrown when evaluating Skip While expression: {1}", ex.GetType().Name, ex.Message); return(false); } }