コード例 #1
0
        public async void RunAllTask()
        {
            Logger logger = LogManager.GetCurrentClassLogger();

            try
            {
                await UploadSample(Settings.Default.token);
                await DownloadAllFilesInFolder(Settings.Default.token);
            }
            catch (Exception ex)
            {
                logger.Warn(ex.Message);

                YandexAuthWindow yaDlg = new YandexAuthWindow();
                yaDlg.Owner = this;

                if (yaDlg.ShowDialog() == true)
                {
                    await UploadSample(Settings.Default.token);
                    await DownloadAllFilesInFolder(Settings.Default.token);
                }
                else
                {
                    logger.Warn(ex.Message);
                }
            }

            if (autoclose)
            {
                Task.WaitAll();
                logger.Info("Автозавершение работы приложения по окончанию всех задач");
                Close();
            }
        }
コード例 #2
0
        public IDiskApi Authorize()
        {
            try
            {
                IDiskApi TestdiskApi = new DiskHttpApi(Settings.Default.token);
                logger.Trace("Получение токена");

                if (TestdiskApi != null)
                {
                    Disk result = TestdiskApi.MetaInfo.GetDiskInfoAsync().Result;
                    logger.Trace("Успешное получение токена");
                    return(TestdiskApi);
                }
                else
                {
                    logger.Error("Ошибка создания экземпляра класса DiskApi");
                    logger.Fatal("Приложение будет закрыто.");
                    Environment.Exit(-1);
                }
            }
            catch (Exception ex)
            {
                logger.Warn("Ошибка получения токена: " + ex.Message);

                logger.Trace("Попытка получения токена: Инциализация диалогового окна регистраци приложения Яндекс.Диска");

                YandexAuthWindow yaDlg = new YandexAuthWindow();
                yaDlg.Owner = this;

                if (yaDlg.ShowDialog() == true)
                {
                    IDiskApi TestdiskApi = new DiskHttpApi(Settings.Default.token);
                    logger.Trace("Получение токена");

                    if (TestdiskApi != null)
                    {
                        Disk result = TestdiskApi.MetaInfo.GetDiskInfoAsync().Result;
                        logger.Trace("Успешное получение токена");
                        return(TestdiskApi);
                    }
                    else
                    {
                        logger.Error("Ошибка создания экземпляра класса DiskApi");
                        logger.Fatal("Приложение будет закрыто.");
                        Environment.Exit(-1);
                    }
                }
                else
                {
                    logger.Error("Ошибка инициализации диалогового окна регистраци приложения Яндекс.Диска: " + ex.Message);
                    logger.Fatal("Приложение будет закрыто.");
                    Environment.Exit(-1);
                }
            }

            return(null);
        }
コード例 #3
0
        private async void Upload_Click(object sender, RoutedEventArgs e)
        {
            Logger logger = LogManager.GetCurrentClassLogger();

            try
            {
                await UploadSample(Settings.Default.token);

                Task.WaitAll();
                await DownloadAllFilesInFolder(Settings.Default.token);

                Task.WaitAll();
            }
            catch (Exception ex)
            {
                logger.Warn(ex.Message);

                YandexAuthWindow yaDlg = new YandexAuthWindow();
                yaDlg.Owner = this;

                if (yaDlg.ShowDialog() == true)
                {
                    await UploadSample(Settings.Default.token);

                    Task.WaitAll();
                    await DownloadAllFilesInFolder(Settings.Default.token);

                    Task.WaitAll();
                }
                else
                {
                    logger.Warn(ex.Message);
                }
            }

            if (autoclose)
            {
                Task.WaitAll();
                //upload.IsEnabled = true;
                logger.Info("Автозавершение работы приложения по окончанию всех задач");
                Close();
            }
            else
            {
                Task.WaitAll();
                //upload.IsEnabled = true;
            }
        }