/// <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(); } }, _ => { } );; } }
/// <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(); }
public async Task <TestsRootNode> LoadTests() { return(await _testLoader.LoadTests(_testsClone.Assemblies.AsStrings().ToList())); }