Introdotta una nuova interfaccia utente Blazor Server moderna, dark e responsive, con sidebar di navigazione, statistiche animate, banner utente, gestione stato aste e browser integrato. Aggiunti servizi per stato aste e impostazioni, ampio set di stili CSS e animazioni, integrazione JS per l'iframe browser, nuovi layout e configurazione di avvio per sviluppo e produzione. L'app è ora pronta per un'esperienza web professionale e cross-platform.
64 lines
1.7 KiB
C#
64 lines
1.7 KiB
C#
using System;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace AutoBidder.Models
|
|
{
|
|
/// <summary>
|
|
/// Rappresenta una singola puntata nella storia dell'asta
|
|
/// </summary>
|
|
public class BidHistoryEntry
|
|
{
|
|
/// <summary>
|
|
/// Prezzo dell'asta al momento della puntata
|
|
/// </summary>
|
|
[JsonPropertyName("Price")]
|
|
public decimal Price { get; set; }
|
|
|
|
/// <summary>
|
|
/// Tipo di puntata (Auto/Manuale)
|
|
/// </summary>
|
|
[JsonPropertyName("BidType")]
|
|
public string BidType { get; set; } = "Auto";
|
|
|
|
/// <summary>
|
|
/// Timestamp della puntata (Unix timestamp)
|
|
/// </summary>
|
|
[JsonPropertyName("Timestamp")]
|
|
public long Timestamp { get; set; }
|
|
|
|
/// <summary>
|
|
/// Nome utente che ha fatto la puntata
|
|
/// </summary>
|
|
[JsonPropertyName("Username")]
|
|
public string Username { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Orario formattato della puntata (HH:mm:ss)
|
|
/// </summary>
|
|
[JsonIgnore]
|
|
public string TimeFormatted
|
|
{
|
|
get
|
|
{
|
|
var dateTime = DateTimeOffset.FromUnixTimeSeconds(Timestamp).ToLocalTime();
|
|
return dateTime.ToString("HH:mm:ss");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Prezzo formattato con 2 decimali
|
|
/// </summary>
|
|
[JsonIgnore]
|
|
public string PriceFormatted
|
|
{
|
|
get => Price.ToString("0.00");
|
|
}
|
|
|
|
/// <summary>
|
|
/// Indica se la puntata è stata fatta dall'utente corrente
|
|
/// </summary>
|
|
[JsonIgnore]
|
|
public bool IsMyBid { get; set; }
|
|
}
|
|
}
|