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);
        }