private void ExtendedClosingEventHandler(object sender, DialogClosingEventArgs eventArgs) { if ((bool)eventArgs.Parameter == false) { this.SelectedReservoir = null; return; } ReservoirAddDialog dialog = eventArgs.Session.Content as ReservoirAddDialog; var newName = dialog.TextReservoirName.Text; if (!string.IsNullOrWhiteSpace(newName)) { Console.WriteLine("New Reservoir Name: " + newName); if (this.SelectedReservoir != null) { this.SelectedReservoir.Name = newName; var db = CrystalClearDB.GetInstance(); if (db == null) { return; } int rowAffected = db.UpdateReservoir(new Reservoir { Id = SelectedReservoir.Id, Name = SelectedReservoir.Name }); if (rowAffected == 1) { var reservoirs = db.GetAllReservoirs(); var newReservoirModels = new ObservableCollection <ReservoirViewModel>(); foreach (var reservoir in reservoirs) { newReservoirModels.Add(new ReservoirViewModel(reservoir)); } Reservoirs = newReservoirModels; this.SelectedReservoir = null; } } else { var db = CrystalClearDB.GetInstance(); if (db == null) { return; } int newId = db.AddReservoir(newName); if (newId != -1) { var newReservoir = db.GetLastReservoir(); Reservoirs.Add(new ReservoirViewModel(newReservoir)); } } } }
private async void ExecuteRunExtendedDialog(object o) { //let's set up a little MVVM, cos that's what the cool kids are doing: var view = new ReservoirAddDialog { DataContext = new ReservoirAddDialogViewModel() }; //show the dialog var result = await DialogHost.Show(view, "RootDialog", ExtendedOpenedEventHandler, ExtendedClosingEventHandler); //check the result... Console.WriteLine("Dialog was closed, the CommandParameter used to close it was: " + (result ?? "NULL")); }
private void ExtendedClosingEventHandler(object sender, DialogClosingEventArgs eventArgs) { if ((bool)eventArgs.Parameter == false) { return; } ReservoirAddDialog dialog = eventArgs.Session.Content as ReservoirAddDialog; var newName = dialog.TextReservoirName.Text; if (!string.IsNullOrWhiteSpace(newName)) { Console.WriteLine("New Reservoir Name: " + newName); var db = CrystalClearDB.GetInstance(); if (db == null) { return; } int newId = db.AddReservoir(newName); if (newId != -1) { var reservoirs = db.GetAllReservoirs(); var newReservoirModels = new ObservableCollection <Reservoir>(); foreach (var reservoir in reservoirs) { newReservoirModels.Add(reservoir); } Reservoirs = newReservoirModels; ReservoirAdded(""); } } }