/// <summary> /// Verifies if there is a shape for the given element type. /// </summary> /// <param name="modelElementTypeId">Model element type.</param> /// <returns>True if there is a shape for the specified element type. False otherwise.</returns> public virtual bool HasShapeForElement(Guid modelElementTypeId) { if (ClassShapesMapping.ContainsKey(modelElementTypeId)) { if (ClassShapesMapping[modelElementTypeId].Count > 0) { return(true); } } return(false); }
/// <summary> /// Merges the current directory with an additional directory. /// </summary> /// <param name="data">Directory</param> public void Merge(IDomainDataExtensionDirectory data) { if (!(data is DiagramDomainDataDirectory)) { throw new InvalidOperationException("Can not merge with " + data.ToString()); } DiagramDomainDataDirectory domainData = data as DiagramDomainDataDirectory; foreach (KeyValuePair <Guid, Guid> pair in domainData.ClassShapesDependenciesMapping) { ClassShapesDependenciesMapping.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, List <Guid> > pair in domainData.ParentChildrenShapesMapping) { ParentChildrenShapesMapping.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, List <Guid> > pair in domainData.DiagramChildrenShapesMapping) { DiagramChildrenShapesMapping.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, List <Guid> > pair in domainData.DiagramRootChildrenShapesMapping) { DiagramRootChildrenShapesMapping.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, List <Guid> > pair in domainData.DiagramRSChildren) { DiagramRSChildren.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, List <Guid> > pair in domainData.DiagramMappingRSChildren) { DiagramMappingRSChildren.Add(pair.Key, pair.Value); } // class shape mappings foreach (KeyValuePair <Guid, List <Guid> > pair in domainData.ClassShapesMapping) { if (ClassShapesMapping.ContainsKey(pair.Key)) { ClassShapesMapping[pair.Key].AddRange(pair.Value); } else { ClassShapesMapping.Add(pair.Key, pair.Value); } } foreach (KeyValuePair <Guid, DiagramClassInfo> pair in domainData.DiagramClassInfos) { DiagramClassInfos.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, ShapeClassInfo> pair in domainData.ShapeClassInfos) { ShapeClassInfos.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, RelationshipShapeInfo> pair in domainData.RelationshipShapeInfos) { RelationshipShapeInfos.Add(pair.Key, pair.Value); } foreach (KeyValuePair <Guid, MappingRelationshipShapeInfo> pair in domainData.MappingRelationshipShapeInfos) { MappingRelationshipShapeInfos.Add(pair.Key, pair.Value); } }