public async Task RefreshDatabases() { this.Databases = new List<DatabaseModel>(); FeedResponse<Database> databases; using (PerformanceWatcher.Start("ReadDatabaseFeed")) { databases = await this._client.ReadDatabaseFeedAsync(); } foreach (Database db in databases) { DatabaseModel model = new DatabaseModel(_client, this, db); this.Databases.Add(model); } }
public DatabaseExpItemVM(AccountExpItemVM parentAccount, DatabaseModel model, MainVM main) : base(main) { _model = model; this.Children.Add(new DummyExpItemVM(main)); this.ContextMenuItems.Add(new MenuItemVM() { Caption = "Refresh", Command = new LambdaCommand(async (o) => { await refresh(); }) }); this.ContextMenuItems.Add(new MenuItemVM() { Caption = "Create collection", Command = new LambdaCommand(async (o) => { var dlg = new NameSelector("New collection name"); if (dlg.ShowDialog() == true && dlg.Value.IsNotEmpty()) { var created = await _model.CreateCollection(dlg.Value); this.Children.Insert(0, new CollectionExpItemVM(this, created, main)); } }) }); this.ContextMenuItems.Add(new MenuItemVM() { Caption = "Delete database", Command = new LambdaCommand(async (o) => { MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Are you sure?", "Delete Confirmation", System.Windows.MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.Yes) { await this._model.DeleteDabaseFormAccount(); parentAccount.Children.Remove(this); } }) }); }