public void ProcessCreateNewBaseEnumValue() { var baseEnumID = new ProjectTreeHelper().GetFirstAncestorID <BaseEnumDTO>(); if (baseEnumID == Guid.Empty) { throw new InvalidOperationException("No enum selected."); } var newBaseEnumValue = new BaseEnumValueDTO() { Name = "<Enter name>", BaseEnumID = baseEnumID }; var view = new BaseEnumValueDetailsView(); view.Object = newBaseEnumValue; var popup = new PopupWindow(); popup.Title = "New Enum Value"; popup.Validate = () => { return(new Validator().Validate(newBaseEnumValue)); }; popup.ViewPanel.Children.Add(view); if (popup.ShowDialog() == true) { new ObjectDataSource().SaveObject(newBaseEnumValue); 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); } }