Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
                }
            }
        }