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;
        }