Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }