private async void RunCreateApplianceDialog() { var customDialog = new CustomDialog(); Appliance newAppliance = new Appliance(); var dialogViewModel = new CreateApplianceDialogViewModel(newAppliance, true, closeHandler => _dialogCoordinator.HideMetroDialogAsync(this, customDialog), async completionHandler => { newAppliance = completionHandler.NewAppliance; // Save to database using (var ctx = new AssistantContext()) { newAppliance.CreationDate = DateTime.Now; ctx.Appliances.Add(newAppliance); ctx.SaveChanges(); } // Add to local list Appliances.Add(newAppliance); await _dialogCoordinator.HideMetroDialogAsync(this, customDialog); await _dialogCoordinator.ShowMessageAsync(this, "Succes", $"Komponentet {newAppliance.Name} blev gemt."); }); customDialog.Content = new CreateApplianceDialogView { DataContext = dialogViewModel }; await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog); }
private async void RunEditApplianceDialog() { var customDialog = new CustomDialog(); var dialogViewModel = new CreateApplianceDialogViewModel(SelectedAppliance, false, instanceCancel => _dialogCoordinator.HideMetroDialogAsync(this, customDialog), instanceCompleted => { _dialogCoordinator.HideMetroDialogAsync(this, customDialog); FilteredCollectionView.Refresh(); AppliancesInPackagedSolutionView.Refresh(); // Update appliance changes in database using (var ctx = new AssistantContext()) { ctx.Entry(SelectedAppliance).State = EntityState.Modified; ctx.Entry(SelectedAppliance.DataSheet).State = EntityState.Modified; ctx.SaveChanges(); } }); customDialog.Content = new CreateApplianceDialogView { DataContext = dialogViewModel }; await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog); }