private void ButtonLoad_Click(object sender, RoutedEventArgs e) { var dialog = new OpenFileDialog { Filter = "Recorded Flight|*.flightrecorder" }; if (dialog.ShowDialog() == true) { using var file = dialog.OpenFile(); using var zipFile = new ZipFile(file); foreach (ZipEntry entry in zipFile) { if (entry.IsFile && entry.Name == "data.json") { using var stream = zipFile.GetInputStream(entry); var reader = new StreamReader(stream); var dataString = reader.ReadToEnd(); var savedData = JsonSerializer.Deserialize <SavedData>(dataString); recorderLogic.FromData(savedData); imageLogic.ClearCache(); Draw(); } } } }
private void ButtonLoad_Click(object sender, RoutedEventArgs e) { var dialog = new OpenFileDialog { Filter = "Recorded Flight|*.flightrecorder" }; if (dialog.ShowDialog() == true) { try { using var file = dialog.OpenFile(); using var zipFile = new ZipFile(file); foreach (ZipEntry entry in zipFile) { if (entry.IsFile && entry.Name == "data.json") { using var stream = zipFile.GetInputStream(entry); var reader = new StreamReader(stream); var dataString = reader.ReadToEnd(); var savedData = JsonSerializer.Deserialize <SavedData>(dataString); recorderLogic.FromData(savedData); imageLogic.ClearCache(); Draw(); } } } catch (Exception ex) { logger.LogError(ex, "Cannot load file"); MessageBox.Show("The selected file is not a valid recording or not accessible!\n\nAre you sure you are opening a *.flightrecorder file?", "Flight Recorder", MessageBoxButton.OK, MessageBoxImage.Error); } } }