public MainWindowModel() { DatabaseNavigationViewModel = new DatabaseNavigationViewModel(); DatabaseNavigationViewModel.DocumentRequested += OnQueryRequested; DatabaseNavigationViewModel.ItemsCollectionChanged += OnItemsCollectionChanged; DatabaseVisualizationViewModel = new DatabaseVisualizationViewModel(); }
public async Task Initialize() { CancellationTokenSource cts = new CancellationTokenSource(); MethodInfo testMethod = GetType().GetRuntimeMethod( TestContext.TestName, new Type[0] ); var specAttr = testMethod.GetCustomAttribute <DetailsForAttribute>(); var dataAttr = testMethod.GetCustomAttribute <TestDataAttribute>(); Assert.IsTrue(specAttr != null || dataAttr != null); try { Utils.DatabaseInfo databaseInfo = await Utils.GetDatabaseInfoForTest(TestContext); KdbxReader reader = new KdbxReader(); using (IRandomAccessStream stream = await databaseInfo.Database.AsIStorageFile.OpenReadAsync()) { Assert.IsFalse((await reader.ReadHeaderAsync(stream, cts.Token)).IsError); KdbxDecryptionResult decryption = await reader.DecryptFileAsync(stream, databaseInfo.Password, databaseInfo.Keyfile, cts.Token); Assert.IsFalse(decryption.Result.IsError); this.document = decryption.GetDocument(); if (specAttr != null && (dataAttr == null || !dataAttr.SkipInitialization)) { IDatabaseNavigationViewModel navVm = new DatabaseNavigationViewModel(); navVm.SetGroup(this.document.Root.DatabaseGroup); IDatabasePersistenceService persistenceService = new DummyPersistenceService(); this.instantiationTime = DateTime.Now; if (specAttr.IsNew) { this.expectedParent = this.document.Root.DatabaseGroup; this.viewModel = GetNewViewModel(navVm, persistenceService, this.document, this.expectedParent); } else { this.expectedParent = this.document.Root.DatabaseGroup; this.viewModel = GetExistingViewModel( navVm, persistenceService, this.document, specAttr.IsOpenedReadOnly ); } } else { this.expectedParent = null; Assert.IsTrue(dataAttr.SkipInitialization); } } } catch (InvalidOperationException) { } }
public MainWindowModel() { string databasePath = @"D:\Dev\Database"; ISqlService sqlService = new SqliteService(); DatabaseNavigation = new DatabaseNavigationViewModel(); ObservableTreeItem item = new ObservableTreeItem { Name = "Database", Path = databasePath, Type = ItemTypeModel.Folder }; CreateTableDialog dialog = new CreateTableDialog(databasePath, sqlService); //dialog.ShowDialog(); item.Items = new ObservableCollection <ObservableTreeItem>(sqlService.GetItems(item.Translate()).Select(i => i.Translate())); DatabaseNavigation.Items.Add(item); DatabaseNavigation.RefreshDatabases(); DatabaseVisualizationViewModel = new DatabaseVisualizationViewModel(); DatabaseVisualizationViewModel.Documents.Add(new Document { FilePath = @"Users\Andy\file.sqe" }); DatabaseVisualizationViewModel.AvailableDatabases = new ObservableCollection <string> { databasePath + @"\home.db" }; DatabaseVisualizationViewModel.ActiveDatabase = DatabaseVisualizationViewModel.AvailableDatabases[0]; }
public DesignDatabaseViewModel() { NavigationViewModel = new DatabaseNavigationViewModel(); SortMode = new DatabaseSortMode(DatabaseSortMode.Mode.DatabaseOrder, "Database order"); AvailableSortModes = new List <DatabaseSortMode> { SortMode }; IKeePassGroup dbGroup = GetGroup("Database"); IKeePassGroup subGroup = GetGroup("Subdirectory", dbGroup); dbGroup.Children.Add(subGroup); IKeePassGroup rootGroup = GetGroup("Current Root", subGroup); subGroup.Children.Add(rootGroup); rootGroup.Children.Add(GetGroup("Foo Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Bar Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Baz Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Some Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Some other node", rootGroup)); rootGroup.Children.Add(GetGroup("Foo Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Bar Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Baz Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Some Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Some other node", rootGroup)); rootGroup.Children.Add(GetGroup("Foo Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Bar Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Baz Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Some Directory", rootGroup)); rootGroup.Children.Add(GetGroup("Some other node", rootGroup)); rootGroup.Children.Add(GetEntry("Bank", "welcome", parent: rootGroup)); rootGroup.Children.Add(GetEntry("Airline", "flymeout", "123456", "myairline.org", parent: rootGroup)); rootGroup.Children.Add(GetEntry("Facebook", "aloha", parent: rootGroup)); IKeePassEntry active = GetEntry("FooHub", "secure89", "Jimbo", "http://test.com/", parent: rootGroup); rootGroup.Children.Add(active); NavigationViewModel.SetEntry(active); SortedChildren = new ReadOnlyObservableCollection <IDatabaseNodeViewModel>( new ObservableCollection <IDatabaseNodeViewModel>( NavigationViewModel.ActiveGroup.Children .Select(node => new DatabaseNodeViewModel(node, false))) ); }