public void ProcessCreateNewDiagram() { var databaseID = new ProjectTreeHelper().GetFirstAncestorID <DatabaseDTO>(); if (databaseID == Guid.Empty) { throw new InvalidOperationException("No database selected."); } var newDiagram = new DiagramDTO() { DiagramName = "<Enter name>", DatabaseID = databaseID }; var view = new DiagramDetailsView(); view.Object = newDiagram; var popup = new PopupWindow(); popup.Title = "New Diagram"; popup.Validate = () => { return(new Validator().Validate(newDiagram)); }; popup.ViewPanel.Children.Add(view); if (popup.ShowDialog() == true) { new ObjectDataSource().SaveObject(newDiagram); ServiceLocator serviceLocator = ServiceLocator.GetActive(); serviceLocator.BasicController.ProcessProjectTreeRefresh(); } }
public void ProcessEditDiagramObject(PersistentObjectDTO obj) { UIElement view = null; var persistentObject = obj as PersistentObjectDTO; if (persistentObject != null) { if (persistentObject.PersistentType == typeof(Entity)) { view = new EntityDetailsView(); } else if (persistentObject.PersistentType == typeof(Diagram)) { view = new DiagramDetailsView(); } if (view != null) { ((IDetailsView)view).Object = persistentObject; } } if (view != null) { var popup = new PopupWindow(); popup.Title = "Edit " + persistentObject.PersistentType.Name; popup.Validate = () => { return(new Validator().Validate(persistentObject)); }; popup.ViewPanel.Children.Add(view); if (popup.ShowDialog() == true) { new ObjectDataSource().SaveObject(obj); ServiceLocator serviceLocator = ServiceLocator.GetActive(); serviceLocator.BasicController.ProcessProjectTreeRefresh(); } } }