/// <summary> /// Проверяет, что child размещён в parent /// т.е. есть библиотечный линк, направленный от child к parent , тип линка = Deploy /// </summary> /// <param name="childElement"></param> /// <param name="parentElement"></param> /// <returns></returns> public static bool IsDeployed(EA.Element childElement, EA.Element parentElement) { bool result = false; foreach (EA.Connector connector in childElement.Connectors) { if (ConnectorHelper.IsDeploymentLink(connector) && connector.ClientID == childElement.ElementID) { result = true; break; } } return(result); }
/// <summary> /// Возвращает Список дочерних (deploy) объектов для указанного (дальнейшая иерархия не раскручивается) /// </summary> /// <param name="element"></param> /// <returns></returns> public static List <EA.Element> GetDeployChildren(EA.Element element) { List <EA.Element> result = new List <EA.Element>(); foreach (EA.Connector connector in element.Connectors) { if (ConnectorHelper.IsDeploymentLink(connector) && connector.SupplierID == element.ElementID) { result.Add(EARepository.GetElementByID(connector.ClientID)); } } return(result); }
/// <summary> /// Возвращает если есть родительский элемент размещения /// </summary> public static EA.Element GetDeployParent(EA.Element eaElement) { EA.Element result = null; foreach (EA.Connector connector in eaElement.Connectors) { if (ConnectorHelper.IsDeploymentLink(connector) && connector.ClientID == eaElement.ElementID) { result = EARepository.GetElementByID(connector.SupplierID); break; } } return(result); }