public ElementData(EA.Element element) { _ElementID = element.ElementID; Name = element.Name; EAType = element.Type; if (element.ClassifierID != 0) { ClassifierID = element.ClassifierID; EA.Element classifier = Context.EARepository.GetElementByID((int)ClassifierID); ClassifierName = classifier.Name; ClassifierEAType = classifier.Type; } IsLibrary = LibraryHelper.IsLibrary(element); if (IsLibrary) { ComponentLevel = CLHelper.GetComponentLevel(element); string ngTag = EATVHelper.GetTaggedValue(element, DAConst.DP_NodeGroupsTag); if (ngTag != null) { NodeGroups = ngTag.Split(','); } } }
public ConnectorData(EA.Connector connector) { Connector = connector; Name = Connector.Name; Notes = Connector.Notes; LinkType = LTHelper.GetConnectorType(connector); FlowID = EATVHelper.GetTaggedValue(connector, DAConst.DP_FlowIDTag); SegmentID = EATVHelper.GetTaggedValue(connector, DAConst.DP_SegmentIDTag); SourceElementID = connector.ClientID; TargetElementID = connector.SupplierID; }
public ConnectorData(EA.DiagramLink diagramLink) : base() { ConnectorID = diagramLink.ConnectorID; Name = Connector.Name; Notes = Connector.Notes; LinkType = LTHelper.GetConnectorType(Connector); FlowID = EATVHelper.GetTaggedValue(Connector, DAConst.DP_FlowIDTag); SegmentID = EATVHelper.GetTaggedValue(Connector, DAConst.DP_SegmentIDTag); SourceElementID = Connector.ClientID; TargetElementID = Connector.SupplierID; }
/// <summary> /// Функция возвращает уровень библиотечного компонента, которому соответствует элемент /// </summary> /// <param name="eaElement"></param> /// <returns></returns> public static ComponentLevel GetComponentLevel(EA.Element eaElement) { try { if (!LibraryHelper.IsLibrary(eaElement)) { throw new Exception("компонент не является библиотечным"); } if (eaElement.Type == "Boundary") { if (EATVHelper.GetTaggedValues(eaElement).GetByName(DAConst.DP_ComponentLevelTag) == null || EATVHelper.GetTaggedValues(eaElement).GetByName(DAConst.DP_ComponentLevelTag).Value == "") { throw new Exception("Не определён уровень компонента контура "); } //EA.TaggedValue taggedValue = GetTaggedValues(eaElement).GetByName(DP_ComponentLevel); return((ComponentLevel)Enum.Parse(typeof(ComponentLevel), EATVHelper.GetTaggedValues(eaElement).GetByName(DAConst.DP_ComponentLevelTag).Value)); } else if (EATVHelper.GetTaggedValues(eaElement).GetByName(DAConst.DP_ComponentLevelTag) != null) { return(Enum.Parse(typeof(ComponentLevel), EATVHelper.GetTaggedValues(eaElement).GetByName(DAConst.DP_ComponentLevelTag).Value)); } else if (eaElement.Type == "Component") { if (eaElement.Stereotype == Component_System_Stereotype) { return(ComponentLevel.SystemComponent); } else if (eaElement.Stereotype == Component_Contour_Stereotype) { return(ComponentLevel.ContourComponent); } else { return(ComponentLevel.Component); } } else if (eaElement.Type == "Node") { return(ComponentLevel.Node); } else if (eaElement.Type == "Device") { return(ComponentLevel.Device); } else if (eaElement.Type == "ExecutionEnvironment") { return(ComponentLevel.ExecutionEnv); } else { throw new Exception("неизветсный тип элемента"); } } catch (Exception ex) { Logger.OutA(ex.ToString(), new EA.Element[] { eaElement }); throw ex; } }