Пример #1
0
        private static void FixUpDomainClassInTreeView(DomainClass domainClass)
        {
            // add embedding relationships
            foreach (DomainRole role in domainClass.RolesPlayed)
            {
                if (role.Relationship.Source == role && role.Relationship is EmbeddingRelationship)
                {
                    EmbeddingRelationship emb = role.Relationship as EmbeddingRelationship;

                    if (emb.Target.RolePlayer.DomainModelTreeNodes.Count > 0)
                    {
                        ModelTreeHelper.AddNewEmbeddingRS(emb, emb.Source.RolePlayer as DomainClass, emb.Target.RolePlayer, false);
                    }
                    else
                    {
                        ModelTreeHelper.AddNewEmbeddingRS(emb, emb.Source.RolePlayer as DomainClass, emb.Target.RolePlayer, true);
                        FixUpDomainClassInTreeView(emb.Target.RolePlayer as DomainClass);

                        emb.Target.RolePlayer.DomainModelTreeNodes[0].IsEmbeddingTreeExpanded    = true;
                        emb.Target.RolePlayer.DomainModelTreeNodes[0].IsReferenceTreeExpanded    = true;
                        emb.Target.RolePlayer.DomainModelTreeNodes[0].IsInheritanceTreeExpanded  = true;
                        emb.Target.RolePlayer.DomainModelTreeNodes[0].IsShapeMappingTreeExpanded = true;
                    }
                }
            }
        }
Пример #2
0
        private void FinalizeEmbeddingRelationshipsMerge(ModelProtoElement protoElement, ModelProtoGroupMerger groupMerger, bool bCreateSInfo)
        {
            EmbeddingRelationship embRel = this.Store.ElementDirectory.FindElement(groupMerger.GetIdMapping(protoElement.ElementId)) as EmbeddingRelationship;

            if (bCreateSInfo)
            {
                SerializationDomainRelationshipAddRule.OnEmbeddingRelationshipAdded(embRel);
            }
            if (embRel == null)
            {
                return;
            }

            ModelTreeHelper.AddNewEmbeddingRS(embRel, embRel.Source.RolePlayer as DomainClass, embRel.Target.RolePlayer, false);
        }