Beispiel #1
0
        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;
        }
Beispiel #2
0
        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();
 }
Beispiel #4
0
        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();
             }
         },
             _ => { }
         );;
     }
 }
Beispiel #6
0
        private void BtnAbout_Clicked(object sender, EventArgs e)
        {
            IMessageDialog message = App.Factory.Create();

            message.ShowMessage("About", "Estás en la plataforma...", "Ok");
        }