private void Open(object o) { OpenFileDialog open = new OpenFileDialog() { Filter = "Tree Files (*.tree)|*.tree" }; if (open.ShowDialog() == true) { using (FileStream fs = new FileStream(open.FileName, FileMode.Open)) { try { DataContractSerializer ser = new DataContractSerializer(typeof(SaveData)); SaveData save = (SaveData)ser.ReadObject(fs); Root = new TreeRootViewModel[] { new TreeRootViewModel(save.Root, save.Loader) }; } catch (Exception ex) { MessageBox.Show(ex.Message); } } } switch (Root.First().DbLoader.Connection.Type) { case DatabaseTypeEnum.MsSql: _printerFactory = new MsSqlPrinterFactory(); break; default: throw new ArgumentOutOfRangeException(); } }
private void Connect() { ConnectionWindow window = new ConnectionWindow(); ConnectionWindowViewModel data = (ConnectionWindowViewModel)window.DataContext; if (window.ShowDialog() == true) { switch (data.SelectedBaseType) { case DatabaseTypeEnum.MsSql: TreeRootViewModel root = new TreeRootViewModel(new MsSqlLoader(data.SelectedViewModel.Connection)); root.TreeChanged += (sender, e) => _searchMatches = null; Root = new TreeRootViewModel[] { root }; _printerFactory = new MsSqlPrinterFactory(); break; } } }