Aggiunto limite configurabile storia puntate
Introdotta la possibilità di configurare un limite massimo di puntate visualizzabili nella scheda "Storia Puntate" tramite l'interfaccia utente. La nuova proprietà `MaxBidHistoryEntries` è stata aggiunta alle impostazioni e salvata in modo persistente. - Aggiunti controlli UI per configurare il limite. - Implementata persistenza della lista `RecentBids` con serializzazione JSON. - Introdotto il metodo `MergeBidHistory` per unire puntate evitando duplicati e mantenendo ordine cronologico decrescente. - Sincronizzate le statistiche utenti (`BidderStats`) con la lista `RecentBids`. - Ripristinata la proprietà `IsMyBid` al caricamento delle aste salvate. - Ottimizzate le performance con `HashSet` per deduplicazione e limite configurabile. - Creato il file `FIX_BID_HISTORY_PERSISTENCE.md` per documentare il problema e la soluzione. - Garantita compatibilità retroattiva con aste salvate. Questi aggiornamenti migliorano la gestione, la visualizzazione e la persistenza della storia delle puntate, offrendo un'esperienza utente più robusta e intuitiva.
This commit is contained in:
@@ -260,6 +260,10 @@ namespace AutoBidder
|
||||
var settings = Utilities.SettingsManager.Load();
|
||||
var loadState = settings.DefaultStartAuctionsOnLoad; // "Active", "Paused", "Stopped"
|
||||
|
||||
// Ottieni username corrente dalla sessione per riprist inare IsMyBid
|
||||
var session = _auctionMonitor.GetSession();
|
||||
var currentUsername = session?.Username ?? string.Empty;
|
||||
|
||||
var auctions = Utilities.PersistenceManager.LoadAuctions();
|
||||
foreach (var auction in auctions)
|
||||
{
|
||||
@@ -268,6 +272,15 @@ namespace AutoBidder
|
||||
|
||||
// Decode HTML entities
|
||||
try { auction.Name = System.Net.WebUtility.HtmlDecode(auction.Name ?? string.Empty); } catch { }
|
||||
|
||||
// ? NUOVO: Ripristina IsMyBid per tutte le puntate in RecentBids
|
||||
if (auction.RecentBids != null && auction.RecentBids.Count > 0 && !string.IsNullOrEmpty(currentUsername))
|
||||
{
|
||||
foreach (var bid in auction.RecentBids)
|
||||
{
|
||||
bid.IsMyBid = bid.Username.Equals(currentUsername, StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
}
|
||||
|
||||
// ? Applica stato iniziale configurato dall'utente
|
||||
switch (loadState)
|
||||
|
||||
Reference in New Issue
Block a user