Files
Mimante/Mimante/Models/AuctionState.cs
Alberto Balbo 4e16f50aeb Aggiunta infrastruttura avanzata per gestione aste
- Introdotta la classe `BidooApiClient` per interagire con le API Bidoo.
- Aggiunto `SessionManager` per la gestione sicura delle sessioni.
- Creato `TestBidooApi` per test manuali delle API.
- Implementato `CsvExporter` per esportare dati e statistiche in CSV.
- Aggiunto `PersistenceManager` per salvare e caricare aste in JSON.
- Introdotto `AuctionViewModel` per supportare il pattern MVVM.
- Migliorata l'interfaccia utente con layout moderno e stili dinamici.
- Aggiornata la documentazione in `README.md` per riflettere le nuove funzionalità.
- Aggiunte classi per rappresentare informazioni, stato e storico delle aste.
- Ottimizzate le richieste HTTP per simulare un browser reale.
2025-10-23 23:10:46 +02:00

49 lines
1.8 KiB
C#

using System;
namespace AutoBidder.Models
{
/// <summary>
/// Stato real-time di un'asta (snapshot dal polling HTTP)
/// </summary>
public class AuctionState
{
public string AuctionId { get; set; } = "";
// Dati correnti
public double Timer { get; set; } = 999;
public double Price { get; set; } = 0;
public string LastBidder { get; set; } = "";
public bool IsMyBid { get; set; } = false;
// Stato asta
public AuctionStatus Status { get; set; } = AuctionStatus.Unknown;
public string StartTime { get; set; } = ""; // Es: "Oggi alle 17:00" o "23 Ottobre 10:10"
// Timestamp snapshot
public DateTime SnapshotTime { get; set; } = DateTime.UtcNow;
// Latenza polling
public int PollingLatencyMs { get; set; } = 0;
// Dati estratti HTML
public string RawHtml { get; set; } = "";
public bool ParsingSuccess { get; set; } = true;
}
/// <summary>
/// Stato corrente dell'asta
/// </summary>
public enum AuctionStatus
{
Unknown, // Non determinato
Running, // Asta in corso (ON + timer attivo + utenti presenti)
Paused, // Asta in pausa (STOP nelle API - tipicamente 00:00-10:00)
EndedWon, // Asta terminata - HAI VINTO! (OFF + io sono last bidder)
EndedLost, // Asta terminata - Persa (OFF + altro è last bidder)
Pending, // In attesa di inizio (ON + no bidder + expiry < 30min)
Scheduled, // Programmata per più tardi (ON + no bidder + expiry > 30min)
Closed, // Asta chiusa/terminata (generico)
NotStarted // Non ancora iniziata (legacy)
}
}