void HandleDeleteOptionsShow(Windows.DeleteOptionsWindow deleteWindow, object objectToDelete) { var objectAsInstance = objectToDelete as InstanceSave; if (objectAsInstance != null) { var parentContainer = objectAsInstance.ParentContainer; var allVariables = parentContainer.AllStates.SelectMany(item => item.Variables); var instanceName = objectAsInstance.Name; var anyVariableSetsParentToThis = allVariables.Any(item => item.SetsValue && item.Value != null && item.Value is string && (string)item.Value == instanceName && item.GetRootName() == "Parent"); if (anyVariableSetsParentToThis) { deleteWindow.MainStackPanel.Children.Add(deleteGroupBox); deleteJustParent.IsChecked = true; deleteAllContainedObjects.IsChecked = false; } } if (objectToDelete is InstanceSave == false) { deleteWindow.MainStackPanel.Children.Add(deleteXmlCheckBox); deleteXmlCheckBox.Content = "Delete XML file"; deleteXmlCheckBox.Width = 220; } }
void HandleDeleteConfirm(Windows.DeleteOptionsWindow deleteOptionsWindow, object deletedObject) { var asInstance = deletedObject as InstanceSave; if (asInstance != null) { PerformInstanceDeleteLogic(asInstance); } if (deleteXmlCheckBox.IsChecked == true) { string fileName = GetFileNameForObject(deletedObject); if (!string.IsNullOrEmpty(fileName) && System.IO.File.Exists(fileName)) { try { System.IO.File.Delete(fileName); } catch { System.Windows.Forms.MessageBox.Show("Could not delete the file\n" + fileName); } } } if (deleteOptionsWindow.MainStackPanel.Children.Contains(deleteXmlCheckBox)) { deleteOptionsWindow.MainStackPanel.Children.Remove(deleteXmlCheckBox); } if (deleteOptionsWindow.MainStackPanel.Children.Contains(deleteGroupBox)) { deleteOptionsWindow.MainStackPanel.Children.Remove(deleteGroupBox); } }