public void ProcessCreateNewBaseEnum() { var databaseID = new ProjectTreeHelper().GetFirstAncestorID <DatabaseDTO>(); if (databaseID == Guid.Empty) { throw new InvalidOperationException("No database selected."); } var newBaseEnum = new BaseEnumDTO() { BaseEnumName = "<Enter name>", DatabaseID = databaseID }; var view = new BaseEnumDetailsView(); view.Object = newBaseEnum; var popup = new PopupWindow(); popup.Title = "New Enum"; popup.Validate = () => { return(new Validator().Validate(newBaseEnum)); }; popup.ViewPanel.Children.Add(view); if (popup.ShowDialog() == true) { new ObjectDataSource().SaveObject(newBaseEnum); ServiceLocator serviceLocator = ServiceLocator.GetActive(); serviceLocator.BasicController.ProcessProjectTreeRefresh(); } }
public void ProcessShowProjectTreeNodeDetails() { var serviceLocator = ServiceLocator.GetActive(); serviceLocator.SessionState.ValidationErrors.Clear(); serviceLocator.SessionState.ObjectInEditor = null; var node = new ProjectTreeHelper().GetCurrentNode(); if (node == null) { serviceLocator.SessionState.DetailsPanel.Children.Clear(); serviceLocator.SessionState.DetailsView = null; return; } IDetailsView view = null; var persistentObject = node.Object as PersistentObjectDTO; if (persistentObject != null) { if (persistentObject.PersistentType == typeof(Entity)) { view = new EntityDetailsView(); } else if (persistentObject.PersistentType == typeof(Project)) { view = new ProjectDetailsView(); } else if (persistentObject.PersistentType == typeof(Database)) { view = new DatabaseDetailsView(); } else if (persistentObject.PersistentType == typeof(ERModel.Attribute)) { view = new AttributeDetailsView(); } else if (persistentObject.PersistentType == typeof(DataType)) { view = new DataTypeDetailsView(); } else if (persistentObject.PersistentType == typeof(Relation)) { view = new RelationDetailsView(); } else if (persistentObject.PersistentType == typeof(RelationItem)) { view = new RelationItemDetailsView(); } else if (persistentObject.PersistentType == typeof(Diagram)) { view = new DiagramChartView(); } else if (persistentObject.PersistentType == typeof(DiagramEntity)) { view = new DiagramEntityDetailsView(); } else if (persistentObject.PersistentType == typeof(BaseEnum)) { view = new BaseEnumDetailsView(); } else if (persistentObject.PersistentType == typeof(BaseEnumValue)) { view = new BaseEnumValueDetailsView(); } if (view != null) { view.Object = persistentObject; } } serviceLocator.SessionState.DetailsPanel.Children.Clear(); serviceLocator.SessionState.DetailsView = view; serviceLocator.SessionState.ObjectInEditor = persistentObject; if (view != null) { serviceLocator.SessionState.DetailsPanel.Children.Add(view as UIElement); } }