handle incomplete transactions

This commit is contained in:
Florian Stinglmayr 2022-11-25 15:58:06 +01:00
parent 1a6183ba9d
commit e6e0233e6d

View File

@ -63,10 +63,16 @@ public partial class MainWindow : Window {
GenerateLog();
}
private void Loadentries_EntriesLoaded(List<Entry> lines) {
private void HandleEntries(List<Entry> entries) {
try {
TransactionParser parser = new TransactionParser();
List<Transaction> transactions = parser.Parse(lines);
List<Transaction> transactions = parser.Parse(entries);
// Log incomplete and remove them from the results.
foreach (var incomplete in transactions.OfType<IncompleteTransaction>()) {
Log(incomplete.Reason);
transactions.Remove(incomplete);
}
report = new Report(transactions);
this.entries.ItemsSource = report.Objectives;
@ -77,6 +83,10 @@ public partial class MainWindow : Window {
}
}
private void Loadentries_EntriesLoaded(List<Entry> lines) {
HandleEntries(lines);
}
private void Report_OnLog(string message) {
StringBuilder builder = new StringBuilder();
@ -122,11 +132,7 @@ public partial class MainWindow : Window {
.ToList()
;
List<Transaction> transactions = parser.Parse(entries);
report = new Report(transactions);
this.entries.ItemsSource = report.Objectives;
HandleEntries(entries);
GenerateLog();
} catch (Exception exception) {
Log("Something went terribly wrong while parsing the E:D player journal.");