Пример #1
0
        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));
                    }
                }
            }
        }
Пример #2
0
        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("");
                }
            }
        }