[feat:] im- and export (pdf/json)
This commit is contained in:
+57
-12
@@ -143,9 +143,9 @@ public partial class MainWindow : Window
|
||||
return changed;
|
||||
}
|
||||
|
||||
private void MnuExpSettings_OnClick(object? sender, RoutedEventArgs e)
|
||||
private async void MnuExpSettings_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
var res = MessageBox.Show(this, "Dieses Feature ist noch nicht implementiert", "Fehlend");
|
||||
await ExportConfigurationAsync();
|
||||
}
|
||||
|
||||
private void MnuExit_OnClick(object? sender, RoutedEventArgs e)
|
||||
@@ -547,9 +547,22 @@ public partial class MainWindow : Window
|
||||
} catch (Exception ex){}
|
||||
}
|
||||
|
||||
private void BtnExportCoursePDF_OnClick(object? sender, RoutedEventArgs e)
|
||||
private async void BtnExportCoursePDF_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
// Export as PDF
|
||||
var topLevel = GetTopLevel(this);
|
||||
var file = await topLevel!.StorageProvider.SaveFilePickerAsync(new FilePickerSaveOptions
|
||||
{
|
||||
Title = "PDF-Datei speichern",
|
||||
SuggestedFileName = "spplus_kurse.pdf",
|
||||
SuggestedFileType = new FilePickerFileType(".pdf-Datei")
|
||||
{
|
||||
Patterns = new[] { "*.pdf" }
|
||||
}
|
||||
});
|
||||
|
||||
if (file == null) return;
|
||||
|
||||
PdfExportUtility.ExportGeneratedCourses(file.Path.LocalPath);
|
||||
}
|
||||
|
||||
private void NudSportMaxPerSemester1_OnValueChanged(object? sender, NumericUpDownValueChangedEventArgs e)
|
||||
@@ -590,33 +603,65 @@ public partial class MainWindow : Window
|
||||
var file = await topLevel!.StorageProvider.SaveFilePickerAsync(new FilePickerSaveOptions
|
||||
{
|
||||
Title = "CSV-Datei speichern",
|
||||
SuggestedFileType = new FilePickerFileType(".csv-Datei")
|
||||
SuggestedFileName = "spplus_ergebnisse.json",
|
||||
SuggestedFileType = new FilePickerFileType(".json-Datei")
|
||||
{
|
||||
Patterns = new[] { "*.csv" }
|
||||
Patterns = new[] { "*.json" }
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (file == null) return;
|
||||
|
||||
ExportUtility.ExportToCSV(file.Path.AbsolutePath);
|
||||
ExportUtility.ExportResultsToJson(file.Path.LocalPath);
|
||||
|
||||
}
|
||||
|
||||
private async void MnuImpResult_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
// Hier importieren
|
||||
var topLevel = GetTopLevel(this);
|
||||
var file = await topLevel!.StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions
|
||||
{
|
||||
Title = "CSV-Datei laden",
|
||||
SuggestedFileType = new FilePickerFileType(".csv-Datei")
|
||||
Title = "Ergebnis-CSV laden",
|
||||
AllowMultiple = false,
|
||||
FileTypeFilter = new[]
|
||||
{
|
||||
Patterns = new[] { "*.csv" }
|
||||
new FilePickerFileType(".json-Datei")
|
||||
{
|
||||
Patterns = new[] { "*.json" }
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (file == null || file.Count == 0) return;
|
||||
|
||||
var imported = import.ImportResultFromJson(file[0].Path.LocalPath.ToString());
|
||||
if (imported != null && imported.Count > 0)
|
||||
{
|
||||
CourseCrafter.GeneratedCourses = imported
|
||||
.OrderBy(c => c.Semester)
|
||||
.ThenBy(c => c.Instance.Sport.Name)
|
||||
.ToList();
|
||||
CourseCrafter.ReloadResult();
|
||||
RefreshResultView();
|
||||
}
|
||||
}
|
||||
|
||||
private async System.Threading.Tasks.Task ExportConfigurationAsync()
|
||||
{
|
||||
var topLevel = GetTopLevel(this);
|
||||
var file = await topLevel!.StorageProvider.SaveFilePickerAsync(new FilePickerSaveOptions
|
||||
{
|
||||
Title = "Konfiguration speichern",
|
||||
SuggestedFileName = "spplus_konfiguration.json",
|
||||
SuggestedFileType = new FilePickerFileType(".json-Datei")
|
||||
{
|
||||
Patterns = new[] { "*.json" }
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (file == null) return;
|
||||
|
||||
ExportUtility.ExportConfigurationToJson(file.Path.LocalPath);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user