Пример #1
0
        private ModelElement GetModelElement(ViewpointProjectionEntity config)
        {
            var key     = config.Entity.GetReference().ToString();
            var element = this.Elements.FirstOrDefault(c => c.ReferenceSource == key);

            if (element == null)
            {
                element = new ModelElement(this.Partition)
                {
                    ReferenceSource = key,
                    Name            = config.Entity.Label ?? config.Entity.Name,
                    Type            = config.Entity.TypeEntity,
                };
                this.Elements.Add(element);
            }

            return(element);
        }
Пример #2
0
        private ConceptElement GetConceptElement(Concept parent, ViewpointProjectionEntity config)
        {
            var            key     = config.Entity.GetReference().ToString();
            ConceptElement element = parent.Children.FirstOrDefault(c => c.ReferenceSource == key);

            if (element == null)
            {
                element = new ConceptElement(this.Partition)
                {
                    ReferenceSource = key,
                    Name            = config.Entity.Label ?? config.Entity.Name,
                    Type            = config.Entity.TypeEntity,
                };
                parent.Children.Add(element);
            }

            return(element);
        }
Пример #3
0
        private void GenerateRelationships(ViewpointProjectionEntity item)
        {
            var left = GetModel(item.Entity);

            foreach (ViewpointProjectionRelationship rel1 in item.Relationships)
            {
                var sh = new Relationship(this.Partition);
                this.Relationships.Add(sh);
                sh.ReferenceSource = rel1.Relationship.GetReference().ToString();

                sh.Name  = rel1.Relationship.Name;
                sh.Label = rel1.Relationship.Description;

                SetLeftRelationship(sh, left);
                SetRightRelationship(sh, GetModel(rel1.TargetEntity));
            }

            foreach (ViewpointProjectionEntity item2 in item.Children)
            {
                GenerateRelationships(item2);
            }
        }