Migliora gestione visualizzazione latenza asta
- Modificato il binding della colonna "Latenza" in `AuctionMonitorControl.xaml` per utilizzare la nuova proprietà `LatencyDisplay`. - Aggiunta la proprietà `LatencyDisplay` in `AuctionViewModel.cs` per calcolare dinamicamente la latenza in base allo stato dell'asta. - Aggiunte notifiche di cambiamento per `LatencyDisplay` per aggiornare correttamente l'interfaccia utente. - Documentata la proprietà `LatencyDisplay` con commenti XML per migliorarne la comprensione.
This commit is contained in:
@@ -273,7 +273,7 @@
|
|||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTextColumn Header="ID" Binding="{Binding AuctionId}" Width="90"/>
|
<DataGridTextColumn Header="ID" Binding="{Binding AuctionId}" Width="90"/>
|
||||||
<DataGridTextColumn Header="Asta" Binding="{Binding Name}" Width="2*"/>
|
<DataGridTextColumn Header="Asta" Binding="{Binding Name}" Width="2*"/>
|
||||||
<DataGridTextColumn Header="Latenza" Binding="{Binding AuctionInfo.PollingLatencyMs}" Width="70"/>
|
<DataGridTextColumn Header="Latenza" Binding="{Binding LatencyDisplay}" Width="70"/>
|
||||||
<DataGridTextColumn Header="Stato" Binding="{Binding StatusDisplay}" Width="100"/>
|
<DataGridTextColumn Header="Stato" Binding="{Binding StatusDisplay}" Width="100"/>
|
||||||
<DataGridTextColumn Header="Timer" Binding="{Binding TimerDisplay}" Width="90"/>
|
<DataGridTextColumn Header="Timer" Binding="{Binding TimerDisplay}" Width="90"/>
|
||||||
<DataGridTextColumn Header="Prezzo" Binding="{Binding PriceDisplay}" Width="70"/>
|
<DataGridTextColumn Header="Prezzo" Binding="{Binding PriceDisplay}" Width="70"/>
|
||||||
|
|||||||
@@ -301,6 +301,30 @@ namespace AutoBidder.ViewModels
|
|||||||
|
|
||||||
public bool IsMyBid => _lastState?.IsMyBid ?? false;
|
public bool IsMyBid => _lastState?.IsMyBid ?? false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Latenza polling - mostra "-" se l'asta non è attiva/monitorata
|
||||||
|
/// </summary>
|
||||||
|
public string LatencyDisplay
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
// Se non attiva o in pausa/terminata, mostra "-"
|
||||||
|
if (!IsActive || _lastState == null)
|
||||||
|
return "-";
|
||||||
|
|
||||||
|
// Se terminata, mostra "-"
|
||||||
|
if (_lastState.Status == AuctionStatus.EndedWon ||
|
||||||
|
_lastState.Status == AuctionStatus.EndedLost ||
|
||||||
|
_lastState.Status == AuctionStatus.Closed)
|
||||||
|
return "-";
|
||||||
|
|
||||||
|
// Altrimenti mostra la latenza
|
||||||
|
return _auctionInfo.PollingLatencyMs > 0
|
||||||
|
? _auctionInfo.PollingLatencyMs.ToString()
|
||||||
|
: "-";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string StatusDisplay
|
public string StatusDisplay
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -359,6 +383,7 @@ namespace AutoBidder.ViewModels
|
|||||||
OnPropertyChanged(nameof(StatusDisplay));
|
OnPropertyChanged(nameof(StatusDisplay));
|
||||||
OnPropertyChanged(nameof(Strategy));
|
OnPropertyChanged(nameof(Strategy));
|
||||||
OnPropertyChanged(nameof(MyClicks));
|
OnPropertyChanged(nameof(MyClicks));
|
||||||
|
OnPropertyChanged(nameof(LatencyDisplay)); // ? AGGIUNTO
|
||||||
OnPropertyChanged(nameof(AuctionInfo)); // For PollingLatencyMs
|
OnPropertyChanged(nameof(AuctionInfo)); // For PollingLatencyMs
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,6 +423,7 @@ namespace AutoBidder.ViewModels
|
|||||||
OnPropertyChanged(nameof(CanPause));
|
OnPropertyChanged(nameof(CanPause));
|
||||||
OnPropertyChanged(nameof(CanStop));
|
OnPropertyChanged(nameof(CanStop));
|
||||||
OnPropertyChanged(nameof(CanBid));
|
OnPropertyChanged(nameof(CanBid));
|
||||||
|
OnPropertyChanged(nameof(LatencyDisplay)); // ? AGGIUNTO - latenza cambia quando si attiva/disattiva
|
||||||
}
|
}
|
||||||
|
|
||||||
public event PropertyChangedEventHandler? PropertyChanged;
|
public event PropertyChangedEventHandler? PropertyChanged;
|
||||||
|
|||||||
Reference in New Issue
Block a user