/// <summary> /// Handles the DeleteFolderRequested event. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_DeleteFolderRequested(object sender, EventArgs e) { Debug.Assert(sender is FolderViewModel); var vm = sender as FolderViewModel; var proceed = App.LastChance("Delete Folder Request", $"Deleting {vm.FolderName}!", $"This operation will delete the {vm.FolderName} folder and remove this entry from the database The operation is not reversable! Do you really want to do this?", true); var su = Locator.SetupViewModel; if (proceed) { vm.DeleteScheduled = true; FileOps.Delete(vm.FolderName, vm.IsHidden ? su.HiddenFilesFolder : su.CommunityFolder); var win = Window.GetWindow(this); Debug.Assert(win != null); win.Close(); } }
/// <summary> /// Handles the DeleteSelectedItemsRequested event. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_DeleteSelectedFoldersRequested(object sender, EventArgs e) { Debug.Assert(sender is MainViewModel); var vm = sender as MainViewModel; var selectedToDelete = new List <FolderViewModel>(); foreach (var item in vm.SelectedFoldersCollection) { selectedToDelete.Add(item); } var folderNames = Environment.NewLine + Environment.NewLine; foreach (var item in selectedToDelete) { folderNames += item.FolderName + Environment.NewLine; } var proceed = App.LastChance("Delete Folders Request", $"Deleting Selected Folders", $"This operation will delete these (this) {selectedToDelete.Count} folder(s) from the community or hidden directories:" + folderNames + Environment.NewLine + "Is this what you want to do?"); if (proceed) { var hiddenFolder = AppSettings.Default.HiddenFilesFolder; var communityFolder = AppSettings.Default.CommunityFolder; foreach (var item in selectedToDelete) { FileOps.Delete(item.FolderName, item.IsHidden ? hiddenFolder : communityFolder); vm.FolderCollection.Remove(item); } DbCore.Delete(selectedToDelete); } }