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