public override async Task Execute(IEnumerable <IManga> mangas) { var list = mangas.ToList(); var text = list.Count == 1 ? $"Удалить историю {list[0].Name}?" : ("Удалить историю?" + Environment.NewLine + string.Join(Environment.NewLine, list.Select(l => $" - {l}"))); var dialog = new Dialogs.Avalonia.Dialog { Title = "Удаление истории", Description = text + Environment.NewLine + "После удаления истории манга будет скачиваться целиком." }; var yes = dialog.Buttons.AddButton("Да"); var no = dialog.Buttons.AddButton("Нет"); if (await dialog.ShowAsync().ConfigureAwait(true) == yes) { foreach (var manga in list) { manga.ClearHistory(); } using (var context = Repository.GetEntityContext()) await list.SaveAll(context).ConfigureAwait(true); } }
private static async void UpdaterOnNewVersionFound(object sender, string e) { var dialog = new Dialogs.Avalonia.Dialog { Title = $"Найдено обновление {e}", Description = "Автоматическое обновление не реализовано в текущей версии, обновитесь вручную." }; var download = dialog.Buttons.AddButton("Скачать обновление"); var close = dialog.Buttons.AddButton("Закрыть"); await Dispatcher.UIThread.InvokeAsync(async() => { if (await dialog.ShowAsync().ConfigureAwait(true) == download) { Helper.StartUseShell(Updater.RepositoryReleaseUri); } }).LogException().ConfigureAwait(true); }
public override async Task Execute(IEnumerable <IManga> mangas) { var list = mangas.ToList(); var isSingle = list.Count == 1; var text = isSingle ? string.Format("Удалить мангу {0}?", list[0].Name) : ("Удалить мангу?" + Environment.NewLine + string.Join(Environment.NewLine, list.Select(l => $" - {l}"))); var dialog = new Dialogs.Avalonia.Dialog { Title = "Удаление манги", Description = text + Environment.NewLine + "Манга и история её обновлений будет удалена." }; var deleteFolder = new BoolControl(); dialog.Controls.Add(deleteFolder); deleteFolder.Name = isSingle ? $"Удалить папку {list[0].Folder}" : "Удалить связанные папки"; var yes = dialog.Buttons.AddButton("Да"); var no = dialog.Buttons.AddButton("Нет"); if (await dialog.ShowAsync().ConfigureAwait(true) == yes) { await Library.ThreadAction(DeleteManga(list, deleteFolder)).LogException().ConfigureAwait(true); } }