Esempio n. 1
0
 public MainViewModel(DataService dataService)
 {
     _dataService = dataService;
     Layers = _dataService.GetLayers();
     // Инициализация комманд
     OkCommand = new RelayCommand(OkCommandExecute);
     CancelCommand = new RelayCommand(CancelCommandExecute);
 }
        public void ChangeProperties()
        {
            // Получаем текущий документ, его БД и Editor
            Document acDocument = Application.DocumentManager.MdiActiveDocument;
            Database acCurDb = acDocument.Database;
            Editor acEditor = acDocument.Editor;

            // Начинаем транзакцию
            Transaction transaction = acCurDb.TransactionManager.StartTransaction();

            #if !DEBUG
            try
            {
            #endif
                // Создаём окно плагина
                MainView mainWindow = new MainView();

                //Создаём модель данных
                DataService dataService = new DataService(transaction, acCurDb, acEditor);

                //Создаём viewmodel и соединяем элементы под MVVM
                MainViewModel mainViewModel = new MainViewModel(dataService);
                mainWindow.DataContext = mainViewModel;

                //Вызов окна плагина в режиме диалога
                Application.ShowModalWindow(mainWindow);
            #if !DEBUG
            }
            catch (Exception exception)
            {
                acEditor.WriteMessage("Error: " + exception.Message);
            }
            #endif

            // Освобождение транзакции, если у транзакции не было Commit(), то изменения не применяются
            transaction.Dispose();
        }