internal Inheritance_AddFromDialog(NewInheritanceDialog dialog) { _dialog = dialog; }
internal void AddNewInheritance(EntityTypeShape entityShape) { if ((Partition.GetLocks() & Locks.Add) == Locks.Add) { return; } // If user selected an EntityTypeShape, use corresponding EntityType // else default to first EntityType in the model ViewModelEntityType baseEntity = null; ConceptualEntityType modelEntity = null; if (entityShape != null) { baseEntity = entityShape.ModelElement as ViewModelEntityType; modelEntity = ModelElement.ModelXRef.GetExisting(baseEntity) as ConceptualEntityType; Debug.Assert(modelEntity != null); } var model = ModelElement.ModelXRef.GetExisting(ModelElement) as ConceptualEntityModel; Debug.Assert(model != null); var cets = new List<ConceptualEntityType>(model.EntityTypes().Cast<ConceptualEntityType>()); using (var dialog = new NewInheritanceDialog(modelEntity, cets)) { if (dialog.ShowDialog() == DialogResult.OK) { using (var t = Store.TransactionManager.BeginTransaction(EntityDesignerResources.Tx_AddInheritance)) { t.Context.Add(EfiTransactionOriginator.TransactionOriginatorDiagramId, DiagramId); ViewModelChangeContext.GetNewOrExistingContext(t).ViewModelChanges.Add(new Inheritance_AddFromDialog(dialog)); t.Commit(); } } } }