/// <summary>
 /// Обработчик события запроса обновления базы данных тестов
 /// </summary>
 private void UpdateTests()
 {
     if (Connectivity.NetworkAccess != NetworkAccess.Internet)
     {
         _messageDialog.ShowMessage("Невозможно обновить тесты: отсутствует интернет-соединение");
     }
     else
     {
         _waitingAnimation.StartAnimation("Обновление тестов", out Guid guid);
         Worker.Run
         (
             () =>
         {
             if (_testsLoader.HaveTestsBeenUpdated)
             {
                 _messageDialog.ShowMessage("Загружена последняя версия тестов, обновление не требуется");
                 return(false);
             }
             else if (!_testsLoader.LoadTests())
             {
                 _messageDialog.ShowMessage("При обновлении тестов возникла ошибка");
                 return(false);
             }
             else
             {
                 _messageDialog.ShowMessage("Тесты успешно обновлены");
                 return(true);
             }
         },
             result =>
         {
             _waitingAnimation.StopAnimation(guid);
             if (result)
             {
                 controller.CreatePresenter <MainPresenter>().Run();
             }
         },
             _ => { }
         );;
     }
 }
예제 #2
0
 /// <summary>
 /// Загрузка базы данных тестов, показ представления
 /// </summary>
 public override void Run()
 {
     Worker.Run
     (
         () =>
     {
         if (!_testsLoader.HaveTestsBeenLoaded)
         {
             if (Connectivity.NetworkAccess != NetworkAccess.Internet)
             {
                 _messageDialog.ShowMessage("Невозможно загрузить тесты: отсутствует интернет-соединение");
             }
             else if (!_testsLoader.LoadTests())
             {
                 _messageDialog.ShowMessage("При загрузке тестов возникла ошибка");
             }
         }
         return(true);
     },
         _ => controller.CreatePresenter <MainPresenter>().Run(),
         _ => { }
     );
     base.Run();
 }
예제 #3
0
 public async Task <TestsRootNode> LoadTests()
 {
     return(await _testLoader.LoadTests(_testsClone.Assemblies.AsStrings().ToList()));
 }