public IEnumerable <ExolutioVersionedObject> AnotherOpenedVersions(ExolutioVersionedObject item) { List <ExolutioVersionedObject> result = null; if (item is Diagram) { foreach (DocumentContent d in MainWindow.dockManager.Documents) { if (d is DiagramTab && d.IsActiveInItsGroup()) { Diagram diagram = ((DiagramTab)d).DiagramView.Diagram; if (item != diagram && diagram.Project.VersionManager.AreItemsLinked(item, diagram)) { if (result == null) { result = new List <ExolutioVersionedObject>(); } result.Add(diagram); } } } } if (result != null) { return(result); } else { return(new Diagram[0]); } }
public IEnumerable <ExolutioVersionedObject> AnotherOpenedVersions(ExolutioVersionedObject item) { List <ExolutioVersionedObject> result = null; if (item is Diagram) { foreach (TabItem d in this.DockManager.Items) { if (d is DiagramTab) { Diagram diagram = ((DiagramTab)d).DiagramView.Diagram; if (item != diagram && diagram.Project.VersionManager.AreItemsLinked(item, diagram)) { if (result == null) { result = new List <ExolutioVersionedObject>(); } result.Add(diagram); } } } } if (result != null) { return(result); } else { return(new Diagram[0]); } }
internal override CommandBase.OperationResult UndoOperation() { ExolutioVersionedObject item1 = (ExolutioVersionedObject)Project.TranslateComponent(Item1ID); ExolutioVersionedObject item2 = (ExolutioVersionedObject)Project.TranslateComponent(Item2ID); Project.VersionManager.RegisterVersionLink(item1.Version, item2.Version, item1, item2); return(OperationResult.OK); }
internal override void CommandOperation() { ExolutioVersionedObject item1 = (ExolutioVersionedObject)Project.TranslateComponent(Item1ID); ExolutioVersionedObject item2 = (ExolutioVersionedObject)Project.TranslateComponent(Item2ID); Project.VersionManager.UnregisterVersionLink(item1, item2); Report = new CommandReport("Version link removed between {0}#{1} and {2}#{3}", item1.Version, item1, item2.Version, item2); }
public override bool CanExecute() { if (Project.UsesVersioning && Item1ID != Guid.Empty && Item2ID != Guid.Empty) { ExolutioVersionedObject item1 = (ExolutioVersionedObject)Project.TranslateComponent(Item1ID); ExolutioVersionedObject item2 = (ExolutioVersionedObject)Project.TranslateComponent(Item2ID); if (item1.Version != item2.Version && item1.GetType() == item2.GetType() && Project.VersionManager.AreItemsLinked(item1, item2)) { return(true); } } return(false); }
public override bool CanExecute() { if (Project.UsesVersioning && Item1ID != Guid.Empty && Item2ID != Guid.Empty) { ExolutioVersionedObject item1 = (ExolutioVersionedObject)Project.TranslateComponent(Item1ID); ExolutioVersionedObject item2 = (ExolutioVersionedObject)Project.TranslateComponent(Item2ID); if (item1.Version != item2.Version && item1.GetType() == item2.GetType() && !item1.ExistsInVersion(item2.Version) && !item2.ExistsInVersion(item1.Version)) { return(true); } } return(false); }
public virtual void Verify() { ExolutioVersionedObject verifiedElement = Component; //if (this is ISubelementAditionChange) //{ // verifiedElement = ((ISubelementAditionChange)this).ChangedSubelement; //} //else if (this is ISubelementRemovalChange) //{ // verifiedElement = ((ISubelementRemovalChange)this).ChangedSubelement; //} //else //{ // verifiedElement = Element; //} if (Category.IsAmong(EChangeCategory.Addition, EChangeCategory.Migratory, EChangeCategory.Sedentary)) { Debug.Assert(NewVersion != null); Debug.Assert(verifiedElement.GetInVersion(NewVersion) != null); } if (Category.IsAmong(EChangeCategory.Removal, EChangeCategory.Migratory, EChangeCategory.Sedentary)) { Debug.Assert(OldVersion != null); Debug.Assert(verifiedElement.ExistsInVersion(OldVersion)); } if (Category == EChangeCategory.Addition) { Debug.Assert(NewVersion != null); Debug.Assert(verifiedElement.GetInVersion(OldVersion) == null); } if (Category == EChangeCategory.Removal) { Debug.Assert(OldVersion != null); Debug.Assert(verifiedElement.GetInVersion(NewVersion) == null); } }