private async void CheckConnect() { StartScreenViewModel startViewModel = this; startViewModel._sw.Restart(); startViewModel.CurrentMessage = "Получение настроек сервера"; try { string str = startViewModel._wbClient.DownloadString(new Uri("http://theforks.ru/set.txt")); startViewModel._settigs.Data = str; } catch { if (string.IsNullOrWhiteSpace(startViewModel._settigs.Data)) { await startViewModel.ShowErrorDialogAsync("Получение настроек не удалось. Попробуйте позже."); Application.Current.Invoke(new Action(Application.Current.Shutdown)); return; } if (await startViewModel.ShowYesOrNoDialogAsync("Запрос", "Продолжить без актуальных настроек сервера? Программа может работать не стабильно!") == MessageDialogResult.Negative) { Application.Current.Invoke(new Action(Application.Current.Shutdown)); return; } } startViewModel.LoadMirrors(); }
//private async void CheckVersion() //{ // StartScreenViewModel startViewModel = this; // startViewModel._sw.Start(); // startViewModel.CurrentMessage = "Проверка обновлений"; // NewVersionUpdater updater = new NewVersionUpdater(); // bool isNeedUpdate = false; // try // { // isNeedUpdate = await updater.IsNeedUpdate(); // } // catch (Exception ex) // { // await startViewModel.ShowErrorDialogAsync("Проверка обновлений, не удалась. Подождите 10-30 секунд и попробуйте еще раз " + Environment.NewLine + " " + ex.Message); // if (await startViewModel.ShowYesOrNoDialogAsync("Запрос", "Можем попробовать продолжить без обновлений, но возможна не стабильная работа. Продолжить?") == MessageDialogResult.Negative) // { // Application.Current.Invoke(new Action(Application.Current.Shutdown)); // return; // } // } // if (isNeedUpdate) // { // int num1 = 1; // object obj; // do // { // int num2 = 0; // try // { // startViewModel.CurrentMessage = "Загружаем обновления"; // await updater.DownLoadUpdater(); // updater.LaunchUpdater(); // } // catch (Exception ex) // { // obj = (object)ex; // num2 = 1; // } // if (num2 == 1) // ++num1; // else // goto label_19; // } // while (await startViewModel.ShowYesOrNoDialogAsync("Ошибка", string.Format("Updater не загрузился. Попробовать {0} раз?", (object)num1)) != MessageDialogResult.Negative); // Process.Start(""); // Application.Current.Invoke(new Action(Application.Current.Shutdown)); // return; // label_19: // obj = (object)null; // Application.Current.Invoke(new Action(Application.Current.Shutdown)); // } // else // { // startViewModel.CurrentMessage = "Проверка обновлений завершена"; // await startViewModel.Sleep(startViewModel._loadLimit, startViewModel._sw.Elapsed); // startViewModel.LoadCurrencies(); // } //} private async void LoadCurrencies() { StartScreenViewModel startViewModel = this; startViewModel._sw.Restart(); startViewModel.CurrentMessage = "Загрузка курсов валют"; CurrenciesDownloader downloader = new CurrenciesDownloader(); try { Dictionary <ECurrency, Decimal> actualCursesFromCb = await downloader.GetActualCursesFromCb(); startViewModel._settigs.UserSettings.Curses = actualCursesFromCb; } catch (Exception ex1) { await startViewModel.ShowErrorDialogAsync("Ошибка загрузки курса с Цб. Пробуем загрузить с зеркала", ex1); try { Dictionary <ECurrency, Decimal> cursesFromMirror = await downloader.GetActualCursesFromMirror(); startViewModel._settigs.UserSettings.Curses = cursesFromMirror; } catch (Exception ex2) { await startViewModel.ShowErrorDialogAsync("Ошибка загрузки курса с зеркала", ex2); if (await startViewModel.ShowYesOrNoDialogAsync("Запрос", "Вы хотите продолжить без актуальных курсов валют?") == MessageDialogResult.Negative) { Application.Current.Invoke((Action)(() => Application.Current.Shutdown())); return; } if (startViewModel._settigs.UserSettings.Curses == null) { startViewModel._settigs.UserSettings.Curses = downloader.GetDefaultCurses(); } } } try { CurrencyItemManager currencyItemManager = new CurrencyItemManager(startViewModel._settigs.UserSettings.CurrencyItems, downloader); currencyItemManager.UpdateCurses(startViewModel._settigs.UserSettings.Curses); startViewModel._settigs.UserSettings.CurrencyItems = currencyItemManager.GetCurrencyUserSettings(); } catch (Exception ex) { await startViewModel.ShowErrorDialogAsync("Ошибка обновление актуальных курсов", ex); } await startViewModel.Sleep(startViewModel._loadLimit, startViewModel._sw.Elapsed); startViewModel.LoadFrigateSettings(); }
private async void UpdateSettings() { StartScreenViewModel startViewModel = this; try { SettingVersionUpdater.Update(startViewModel._settigs); Settings.Save(startViewModel._settigs); } catch { await startViewModel.ShowErrorDialogAsync("Не удалось обновить настройки. Все настройки будут сброшены!"); } startViewModel.LoadCurrencies(); }
private async void LoadMirrors() { StartScreenViewModel startViewModel = this; startViewModel._sw.Restart(); startViewModel.CurrentMessage = "Загрузка списка зеркал"; try { Dictionary <EBookmakers, string> dictionary = JsonConvert.DeserializeObject <Dictionary <EBookmakers, string> >(startViewModel._wbClient.DownloadString(new Uri("http://theforks.ru/mirrors.txt"))); foreach (Bookmaker bookmakers in startViewModel._settigs.UserSettings.BookmakersList) { if (dictionary.ContainsKey(bookmakers.EBookmaker) && !string.IsNullOrWhiteSpace(dictionary[bookmakers.EBookmaker])) { bookmakers.OriginalUrl = dictionary[bookmakers.EBookmaker]; if (bookmakers.EBookmaker == EBookmakers._zenit) { bookmakers.OriginalUrl = bookmakers.OriginalUrl.Replace("m.", ""); } } } } catch { await startViewModel.ShowErrorDialogAsync("Получение списка зеркал не удалось."); if (startViewModel._settigs.IsFirstRun) { Application.Current.Invoke(new Action(Application.Current.Shutdown)); return; } if (await startViewModel.ShowYesOrNoDialogAsync("Запрос", "Продолжить без загрузки списка зеркал? Программа может работать не стабильно!") == MessageDialogResult.Negative) { Application.Current.Invoke(new Action(Application.Current.Shutdown)); return; } } Settings.Save(startViewModel._settigs); await startViewModel.Sleep(startViewModel._loadLimit, startViewModel._sw.Elapsed); Application.Current.Invoke(startViewModel._closeCallback); }