public static bool IsMessagingActivity(this ModelItem item) { if (null == item) { throw FxTrace.Exception.ArgumentNull("item"); } bool result = item.IsAssignableFrom <Receive>() || item.IsAssignableFrom <Send>() || item.IsAssignableFrom <ReceiveReply>() || item.IsAssignableFrom <SendReply>(); return(result); }
static bool CanUseQueryCorrelationInitializer(ModelItem activity) { bool result = true; if (null != activity) { if (activity.IsAssignableFrom <Receive>() || activity.IsAssignableFrom <Send>()) { ModelItem serializationOption; activity.TryGetPropertyValue(out serializationOption, "SerializerOption"); result = SerializerOption.XmlSerializer != (SerializerOption)serializationOption.GetCurrentValue(); } else if (activity.IsAssignableFrom <SendReply>() || activity.IsAssignableFrom <ReceiveReply>()) { ModelItem request; activity.TryGetPropertyValue(out request, "Request"); result = CanUseQueryCorrelationInitializer(request); } } return(result); }