Blame | Last modification | View Log | RSS feed
using System;namespace EA_ReqPro{/// <summary>/// Summary description for EA_Connectors./// </summary>public class EA_Connectors{public EA_Connectors(){}/// <summary>/// Adds a connection between one EA element and another/// </summary>/// <param name="repository"></param>/// <param name="rq_artifact"></param>/// <param name="ea_req"></param>public static void add(EA.Element src_element, EA.Element dest_element){if (false == ea_element_traces_to_or_from(src_element, dest_element)){// Add the new connection between the src_element and dest_elementEA.Connector c = (EA.Connector)src_element.Connectors.AddNew("", "Dependency");c.SupplierID = dest_element.ElementID;c.Direction = "Source -> Destination";c.Update();src_element.Connectors.Refresh();}}private static bool ea_element_traces_to_or_from(EA.Element src_element, EA.Element dest_element){foreach(EA.Connector ea_c in src_element.Connectors){int destId = -1;// we dont care about direction of relationship, so test for bothif (ea_c.ClientID == src_element.ElementID)destId = ea_c.SupplierID;else if (ea_c.SupplierID == src_element.ElementID)destId = ea_c.ClientID;// and make sure we filter out self-referential connectorsif (destId != src_element.ElementID){if (destId == dest_element.ElementID)return true;}}return false;}}}