/// <summary> /// Deletes currently selected results /// </summary> private void DeleteResult() { var selectedItem = ListViewModel.SelectedItem(); if (selectedItem == null) { return; } var vm = new DecisionDialogViewModel() { Title = "Usuwanie rezultatu", Message = "Czy chcesz usunąć ten rezultat?", AcceptText = LocalizationResource.Yes, CancelText = LocalizationResource.No, }; DI.UI.ShowMessage(vm); if (vm.UserResponse == false) { return; } try { // Try to delete the file ResultFileWriter.DeleteFile(selectedItem); } catch (Exception ex) { // If an error occured, show info to the user DI.UI.ShowMessage(new MessageBoxDialogViewModel { Title = LocalizationResource.DeletionError, Message = "Nie udało się usunąć tego rezultatu." + "\n" + LocalizationResource.ErrorContentSemicolon + ex.Message, OkText = LocalizationResource.Ok }); DI.Logger.Log("Unable to delete result from local folder, error message: " + ex.Message); } // Reload items ListViewModel.LoadItems(); SetDefaults(); OnPropertyChanged(nameof(ItemsLoadedCount)); }
/// <summary> /// Saves results to file /// </summary> /// <returns>True if operation was successful; otherwise, false</returns> private bool TrySaveResultsToFile() { try { // Try to write the results to file ResultFileWriter.WriteToFile(new ClientTestResults() { Answers = UserAnswers, SessionIdentifier = SessionIdentifier, Client = new TestResultsClientModel() { Name = mClientModel.Name, LastName = mClientModel.LastName, MachineName = mClientModel.MachineName, Mark = UserMark, PointsScored = UserScore, QuestionsOrder = QuestionsOrder, }, Test = CurrentTest, }); DI.UI.ShowMessage(new MessageBoxDialogViewModel { Title = "Wyniki testu w pliku", Message = "Wyniki testu zostały zapisane do pliku, ponieważ połączenie z serwerem zostało utracone.", OkText = "Ok" }); DI.Logger.Log($"Test results saved to file"); return(true); } catch (Exception ex) { DI.UI.ShowMessage(new MessageBoxDialogViewModel { Title = "Błąd zapisu", Message = "Nie udało się zapisać ani wysłać wyników testu." + "\nTreść błędu: " + ex.Message, OkText = "Ok" }); DI.Logger.Log($"Unable to save the results, error message: {ex.Message}"); return(false); } }