private async void ExitApp() { if (await DialogsHelper.ShowRequest("Выйти из программы?")) { Application.Current.Shutdown(); } }
private async void RemoveElement(object selected) { if (selected == null) { return; } if (selected is DirectoryItem) { var path = ((DirectoryItem)selected).Path; var groupName = Path.GetFileName(path); if (!await DialogsHelper.ShowRequest( $"Удалить группу \"{groupName}\" и все связанные с ней файлы?", WindowType.TreeMenu)) { return; } var itemsCount = _itemProvider.GetItems(path).Count(t => t is FileItem); if (itemsCount > 0) { if (!await DialogsHelper.ShowRequest( $"Группа \"{groupName}\" содержит проекты ({itemsCount}).{Environment.NewLine}" + "Удалить их без возможности восстановления?", WindowType.TreeMenu)) { return; } } if (!RemoveGroup(path)) { await DialogsHelper.ShowMessage("Ошибка удаления группы", WindowType.TreeMenu); return; } FillItems(); } else if (selected is FileItem) { var fileName = ((FileItem)selected).Path; var name = Path.GetFileNameWithoutExtension(fileName); if (!await DialogsHelper.ShowRequest( $"Удалить проект \"{name}\" без возможности восстановления?", WindowType.TreeMenu)) { return; } if (!RemoveFile(fileName)) { await DialogsHelper.ShowMessage("Ошибка удаления файла проекта", WindowType.TreeMenu); return; } FillItems(); } }