Miglioramenti UX e gestione impostazioni predefinite

* Rimosso il pulsante "Vai" e reso il campo URL non editabile.
* Introdotta persistenza delle impostazioni predefinite (es. anticipo).
* Aggiunto metodo `LoadDefaultSettings()` per caricare i defaults.
* Logging dettagliato per salvataggio e applicazione impostazioni.
* Ottimizzata gestione aste con valori predefiniti da configurazione.
* Fix per evitare puntate inutili quando l'utente è già vincitore.
* Logging migliorato per strategia di puntata e decisioni di skip.
* Aggiornata documentazione con dettagli sui fix implementati.
* Aggiornato `CHANGELOG.md` con le nuove funzionalità e correzioni.
This commit is contained in:
Alberto Balbo
2025-11-20 14:11:37 +01:00
parent f017ec0364
commit 29a567bb1d
12 changed files with 1060 additions and 92 deletions
+30 -10
View File
@@ -60,14 +60,17 @@ namespace AutoBidder
? $"Asta {auctionId}"
: $"{System.Net.WebUtility.HtmlDecode(productName)} ({auctionId})";
// Crea model con NUOVI CAMPI - ASTA STOPPATA ALL'INIZIO
// CARICA IMPOSTAZIONI PREDEFINITE SALVATE
var settings = Utilities.SettingsManager.Load();
// Crea model con valori dalle impostazioni salvate - ASTA STOPPATA ALL'INIZIO
var auction = new AuctionInfo
{
AuctionId = auctionId,
Name = System.Net.WebUtility.HtmlDecode(displayName),
OriginalUrl = originalUrl,
BidBeforeDeadlineMs = 200,
CheckAuctionOpenBeforeBid = false,
BidBeforeDeadlineMs = settings.DefaultBidBeforeDeadlineMs,
CheckAuctionOpenBeforeBid = settings.DefaultCheckAuctionOpenBeforeBid,
IsActive = false, // STOPPATA
IsPaused = false
};
@@ -75,13 +78,20 @@ namespace AutoBidder
// Aggiungi al monitor
_auctionMonitor.AddAuction(auction);
// Crea ViewModel
var vm = new AuctionViewModel(auction);
// Crea ViewModel con valori dalle impostazioni
var vm = new AuctionViewModel(auction)
{
MinPrice = settings.DefaultMinPrice,
MaxPrice = settings.DefaultMaxPrice,
MaxClicks = settings.DefaultMaxClicks
};
_auctionViewModels.Add(vm);
SaveAuctions();
UpdateTotalCount();
UpdateGlobalControlButtons(); // Aggiorna stato pulsanti globali
Log($"[ADD] Asta aggiunta con defaults: Anticipo={settings.DefaultBidBeforeDeadlineMs}ms, MinPrice=€{settings.DefaultMinPrice:F2}, MaxPrice=€{settings.DefaultMaxPrice:F2}, MaxClicks={settings.DefaultMaxClicks}", Utilities.LogLevel.Info);
}
catch (Exception ex)
{
@@ -128,14 +138,17 @@ namespace AutoBidder
}
catch { }
// Crea model con NUOVI CAMPI - ASTA STOPPATA ALL'INIZIO
// CARICA IMPOSTAZIONI PREDEFINITE SALVATE
var settings = Utilities.SettingsManager.Load();
// Crea model con valori dalle impostazioni salvate - ASTA STOPPATA ALL'INIZIO
var auction = new AuctionInfo
{
AuctionId = auctionId,
Name = System.Net.WebUtility.HtmlDecode(name),
OriginalUrl = url,
BidBeforeDeadlineMs = 200,
CheckAuctionOpenBeforeBid = false,
BidBeforeDeadlineMs = settings.DefaultBidBeforeDeadlineMs,
CheckAuctionOpenBeforeBid = settings.DefaultCheckAuctionOpenBeforeBid,
IsActive = false, // STOPPATA
IsPaused = false
};
@@ -143,13 +156,20 @@ namespace AutoBidder
// Aggiungi al monitor
_auctionMonitor.AddAuction(auction);
// Crea ViewModel
var vm = new AuctionViewModel(auction);
// Crea ViewModel con valori dalle impostazioni
var vm = new AuctionViewModel(auction)
{
MinPrice = settings.DefaultMinPrice,
MaxPrice = settings.DefaultMaxPrice,
MaxClicks = settings.DefaultMaxClicks
};
_auctionViewModels.Add(vm);
SaveAuctions();
UpdateTotalCount();
UpdateGlobalControlButtons(); // Aggiorna stato pulsanti globali
Log($"[ADD] Asta aggiunta con defaults: Anticipo={settings.DefaultBidBeforeDeadlineMs}ms", Utilities.LogLevel.Info);
}
catch (Exception ex)
{