public List <ILinkDemandAndProvider> GetEdgesFrom(Id nodeId) { List <ILinkDemandAndProvider> demandAndProviders = new List <ILinkDemandAndProvider>(); INode node = GetNode(nodeId); INodes successors = GetSuccessorNodes(nodeId); foreach (var successor in successors) { ILinkDemandAndProvider demandAndProviderLink = GetDemandOrProviderLink(node, successor); demandAndProviders.Add(demandAndProviderLink); } return(demandAndProviders); }
public List <ILinkDemandAndProvider> GetEdgesTo(Id nodeId) { List <ILinkDemandAndProvider> demandAndProviders = new List <ILinkDemandAndProvider>(); INode node = GetNode(nodeId); INodes predecessors = GetPredecessorNodes(nodeId); foreach (var predecessor in predecessors) { ILinkDemandAndProvider demandAndProviderLink = GetDemandOrProviderLink(predecessor, node); demandAndProviders.Add(demandAndProviderLink); } return(demandAndProviders); }
public void DeleteA(ILinkDemandAndProvider demandAndProviderLink) { if (demandAndProviderLink.GetType() == typeof(T_DemandToProvider)) { DemandToProviderDelete((T_DemandToProvider)demandAndProviderLink); } else if (demandAndProviderLink.GetType() == typeof(T_ProviderToDemand)) { ProviderToDemandDelete((T_ProviderToDemand)demandAndProviderLink); } else { throw new MrpRunException("This type is not expected."); } }
public void AddAll(LinkDemandAndProviderTable linkDemandAndProviderTable) { if (linkDemandAndProviderTable.Any()) { ILinkDemandAndProvider linkDemandAndProvider = linkDemandAndProviderTable.GetAny(); if (linkDemandAndProvider.GetType() == typeof(T_DemandToProvider)) { _demandToProviderTable.AddAll(linkDemandAndProviderTable); } else if (linkDemandAndProvider.GetType() == typeof(T_ProviderToDemand)) { _providerToDemandTable.AddAll(linkDemandAndProviderTable); } else { throw new MrpRunException("Unexpected type."); } } }
public Edge(ILinkDemandAndProvider demandToProvider, INode tailNode, INode toNode) { _demandToProvider = demandToProvider; TailNode = tailNode; HeadNode = toNode; }