private void SelectCommand() { var filename = _fileSelector.GetFilename("exe"); if (string.IsNullOrWhiteSpace(filename)) { // Es wurde keine Datei ausgewählt. return; } if (System.IO.File.Exists(filename) == false) { _messageDialog.ShowMessage("Die ausgewählte Datei existiert nicht.", "CodeRunner", MessageDialogIcons.Error); return; } Command = filename; }
public MainViewModel(ISelectFileDialog fileSelector, IMessageDialog messageDialog, ITestRunner runner) { _fileSelector = fileSelector; _messageDialog = messageDialog; _runner = runner; StartTestcasesCommand = new RelayCommand <object>((nullArgument) => StartTestCases().ConfigureAwait(false)); LoadTestcasesCommand = new RelayCommand <object>((nullArgument) => LoadTestCases()); ShowTestDetailsCommand = new RelayCommand <TestCase>((testCase) => _messageDialog.ShowMessage($"Erwartet:{Environment.NewLine}{string.Join(Environment.NewLine, testCase.Result.ExpectedOutput)}{Environment.NewLine}{Environment.NewLine}Ausgegeben:{Environment.NewLine}{string.Join(Environment.NewLine, testCase.Result.Output)}", "CodeRunner", MessageDialogIcons.Info)); }
/// <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(); }
private void LoadTestCases() { var filename = _fileSelector.GetFilename("jsonTest"); if (string.IsNullOrWhiteSpace(filename)) { // Es wurde keine Datei ausgewählt. return; } if (System.IO.File.Exists(filename) == false) { _messageDialog.ShowMessage("Die ausgewählte Datei existiert nicht.", "CodeRunner", MessageDialogIcons.Error); return; } TestCases.Clear(); List <TestCase> testCases = null; try { var fileContent = System.IO.File.ReadAllText(filename); testCases = JsonConvert.DeserializeObject <List <TestCase> >(fileContent); } catch (JsonException ex) { _messageDialog.ShowMessage($"Beim Deserialisieren des Json-Testfall ist ein Fehler aufgetreten:{Environment.NewLine}{Environment.NewLine}{ex.ToString()}", "CodeRunner", MessageDialogIcons.Error); return; } foreach (var test in testCases) { TestCases.Add(test); } }
/// <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(); } }, _ => { } );; } }
private void BtnAbout_Clicked(object sender, EventArgs e) { IMessageDialog message = App.Factory.Create(); message.ShowMessage("About", "Estás en la plataforma...", "Ok"); }