DependencyCollection ISoapTransactionLinkExecutor.UpdateDependencies()
{
ISoapTransactionLinkExecutor executor = (ISoapTransactionLinkExecutor)this;
IFacade iFacadeRelationship = Relationship as IFacade;
if (iFacadeRelationship != null)
{
if (!iFacadeRelationship.IsConcrete)
{
FacadeRelationship facadeRelationship = iFacadeRelationship as FacadeRelationship;
InProcess.InProcessRelationship inProcessRelationship = facadeRelationship.BaseRelationship as InProcess.InProcessRelationship;
if (inProcessRelationship != null && inProcessRelationship.OriginLink != null && inProcessRelationship.OriginLink.OriginChain != OriginChain)
{
executor.Dependencies.AddFacade(iFacadeRelationship);
}
}
}
foreach (KeyValuePair<ConnectionType, INode> nodePairs in ProxyNodeConnections)
{
IFacade iFacadeNode = nodePairs.Value as IFacade;
if (iFacadeNode != null)
{
if (!iFacadeNode.IsConcrete)
{
FacadeNode facadeNode = iFacadeNode as FacadeNode;
InProcess.InProcessNode inProcessNode = facadeNode.BaseNode as InProcess.InProcessNode;
if (inProcessNode != null && inProcessNode.OriginLink != null && inProcessNode.OriginLink.OriginChain != OriginChain)
{
executor.Dependencies.AddFacade(iFacadeNode);
}
}
}
}
return executor.Dependencies;
}