internal void SetSourceElementSummaries(IElement sourceElement, PipeSummary summary) { if (sourceElement is ISimpleElement) { var sEl = sourceElement as ISimpleElement; summary.SourceElementName = sEl.TypeName; summary.SourceElementInstanceId = sEl.Id; } else if (sourceElement is ICompoundElement) { var cEl = sourceElement as ICompoundElement; summary.SourceElementName = cEl.TypeName; summary.SourceElementInstanceId = cEl.Id; } else { throw new InvalidOperationException(); } }
public PipeSummary GetSummary(IPipe pipe) { PipeSummary summary = new PipeSummary(); summary.InstanceId = pipe.Id; if (pipe is IDataPipe) { var dPipe = pipe as IDataPipe; summary.ContentStatus = dPipe.ContentStatus; summary.ContentType = dPipe.ContentType; SetSourceElementSummaries(dPipe.SourceElement, summary); SetDestElementSummaries(dPipe.DestinationElement, summary); } else if (pipe is INetworkPipe) { var nPipe = pipe as INetworkPipe; summary.ContentStatus = nPipe.ContentStatus; summary.ContentType = nPipe.ContentType; SetSourceElementSummaries(nPipe.SourceElement, summary); SetDestElementSummaries(nPipe.DestinationElement, summary); } return summary; }