ChartWindow: Fix AbgewertetInput Unchecked

This commit is contained in:
2024-01-23 01:28:24 +01:00
parent 3931a4084c
commit e1d19fd9e5
2 changed files with 10 additions and 5 deletions

View File

@ -74,7 +74,7 @@
</xctk:CheckComboBox.ItemTemplate> </xctk:CheckComboBox.ItemTemplate>
</xctk:CheckComboBox> </xctk:CheckComboBox>
<CheckBox x:Name="AbgewertetInput" Content="Abgewertet" IsEnabled="False" Checked="AbgewertetInput_Changed" <CheckBox x:Name="AbgewertetInput" Content="Abgewertet" IsEnabled="False" Checked="AbgewertetInput_Changed" Unchecked="AbgewertetInput_Changed"
VerticalAlignment="Center" HorizontalAlignment="Left" Margin="0,0,0,0" Grid.Column="1"/> VerticalAlignment="Center" HorizontalAlignment="Left" Margin="0,0,0,0" Grid.Column="1"/>
</Grid> </Grid>

View File

@ -96,7 +96,7 @@ namespace Elwig.Windows {
FillingInputs = true; FillingInputs = true;
ControlUtils.RenewItemsSource(ContractInput, contracts, g => (g as ContractSelection)?.Listing); ControlUtils.RenewItemsSource(ContractInput, contracts, g => (g as ContractSelection)?.Listing);
FillingInputs = false; FillingInputs = false;
ControlUtils.RenewItemsSource(GraphList, GraphEntries, g => (g as GraphEntry)?.Id, GraphList_SelectionChanged, ControlUtils.RenewSourceDefault.First); ControlUtils.RenewItemsSource(GraphList, GraphEntries, g => (g as GraphEntry)?.ContractsStringSimple, GraphList_SelectionChanged, ControlUtils.RenewSourceDefault.First);
RefreshInputs(); RefreshInputs();
} }
@ -137,6 +137,7 @@ namespace Elwig.Windows {
private void FillInputs() { private void FillInputs() {
FillingInputs = true; FillingInputs = true;
AbgewertetInput.IsChecked = SelectedGraphEntry?.Abgewertet;
if (SelectedGraphEntry?.GebundenFlatBonus is double bonus) { if (SelectedGraphEntry?.GebundenFlatBonus is double bonus) {
GebundenTypeFixed.IsChecked = true; GebundenTypeFixed.IsChecked = true;
GebundenFlatBonus.Text = $"{bonus}"; GebundenFlatBonus.Text = $"{bonus}";
@ -418,8 +419,9 @@ namespace Elwig.Windows {
} }
private void PriceInput_TextChanged(object sender, TextChangedEventArgs evt) { private void PriceInput_TextChanged(object sender, TextChangedEventArgs evt) {
if (PrimaryMarkedPoint != -1 && ActiveGraph != null) { if (PrimaryMarkedPoint != -1 && ActiveGraph != null && PriceInput.IsKeyboardFocusWithin == true) {
if (double.TryParse(PriceInput.Text, out double price)) { var res = Validator.CheckDecimal(PriceInput.TextBox, true, 2, Season.Precision);
if (res.IsValid && double.TryParse(PriceInput.Text, out double price)) {
ActiveGraph.SetPriceAt(PrimaryMarkedPoint, price); ActiveGraph.SetPriceAt(PrimaryMarkedPoint, price);
PrimaryMarkedPointPlot.Location = new Coordinates(PrimaryMarkedPointPlot.Location.X, price); PrimaryMarkedPointPlot.Location = new Coordinates(PrimaryMarkedPointPlot.Location.X, price);
SetHasChanged(); SetHasChanged();
@ -642,6 +644,7 @@ namespace Elwig.Windows {
tr = Context.Update(PaymentVar); tr = Context.Update(PaymentVar);
await Context.SaveChangesAsync(); await Context.SaveChangesAsync();
LockContext = false; LockContext = false;
tr = null;
await App.HintContextChange(); await App.HintContextChange();
} catch (Exception exc) { } catch (Exception exc) {
if (tr != null) await tr.ReloadAsync(); if (tr != null) await tr.ReloadAsync();
@ -720,13 +723,14 @@ namespace Elwig.Windows {
} }
var r = ContractInput.SelectedItems.Cast<ContractSelection>(); var r = ContractInput.SelectedItems.Cast<ContractSelection>();
SelectedGraphEntry!.Contracts = r.ToList(); SelectedGraphEntry!.Contracts = r.ToList();
SetHasChanged();
GraphList.Items.Refresh(); GraphList.Items.Refresh();
} }
private void RemoveContractFromOtherGraphEntries(string? contract) { private void RemoveContractFromOtherGraphEntries(string? contract) {
if (contract == null) return; if (contract == null) return;
foreach (var ge in GraphEntries) { foreach (var ge in GraphEntries) {
if (ge != SelectedGraphEntry) { if (ge != SelectedGraphEntry && ge.Abgewertet == SelectedGraphEntry?.Abgewertet) {
ge.Contracts.RemoveAll(c => c.Listing.Equals(contract)); ge.Contracts.RemoveAll(c => c.Listing.Equals(contract));
} }
} }
@ -737,6 +741,7 @@ namespace Elwig.Windows {
if (SelectedGraphEntry == null) return; if (SelectedGraphEntry == null) return;
SelectedGraphEntry.Abgewertet = AbgewertetInput.IsChecked == true; SelectedGraphEntry.Abgewertet = AbgewertetInput.IsChecked == true;
SetHasChanged(); SetHasChanged();
GraphList.Items.Refresh();
} }
private void GebundenType_Checked(object sender, RoutedEventArgs e) { private void GebundenType_Checked(object sender, RoutedEventArgs e) {