Compare commits

...

3 Commits

2 changed files with 23 additions and 11 deletions

View File

@ -1,5 +1,6 @@
namespace EDPlayerJournal.BGS; namespace EDPlayerJournal.BGS;
internal class IncompleteTransaction : Transaction {
public class IncompleteTransaction : Transaction {
public Transaction? UnderlyingTransaction { get; set; } = null; public Transaction? UnderlyingTransaction { get; set; } = null;
public string Reason { get; set; } = ""; public string Reason { get; set; } = "";

View File

@ -63,10 +63,16 @@ public partial class MainWindow : Window {
GenerateLog(); GenerateLog();
} }
private void Loadentries_EntriesLoaded(List<Entry> lines) { private void HandleEntries(List<Entry> entries) {
try { try {
TransactionParser parser = new TransactionParser(); 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); report = new Report(transactions);
this.entries.ItemsSource = report.Objectives; 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) { private void Report_OnLog(string message) {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
@ -122,11 +132,7 @@ public partial class MainWindow : Window {
.ToList() .ToList()
; ;
List<Transaction> transactions = parser.Parse(entries); HandleEntries(entries);
report = new Report(transactions);
this.entries.ItemsSource = report.Objectives;
GenerateLog(); GenerateLog();
} catch (Exception exception) { } catch (Exception exception) {
Log("Something went terribly wrong while parsing the E:D player journal."); Log("Something went terribly wrong while parsing the E:D player journal.");
@ -172,7 +178,7 @@ public partial class MainWindow : Window {
} }
if (removed) { if (removed) {
GenerateLog(); RefreshView();
} }
} }
@ -247,6 +253,11 @@ public partial class MainWindow : Window {
}; };
objective.Transactions.Add(zone); objective.Transactions.Add(zone);
RefreshView();
}
private void RefreshView() {
entries.Items.Refresh();
GenerateLog(); GenerateLog();
} }
@ -266,7 +277,7 @@ public partial class MainWindow : Window {
if (int.TryParse(adjust.Profit.Text, out int newprofit)) { if (int.TryParse(adjust.Profit.Text, out int newprofit)) {
sell.Profit = newprofit; sell.Profit = newprofit;
GenerateLog(); RefreshView();
} }
} }