using System;

namespace PolyTrader.Modules.ResolutionFarming.Models
{
    /// <summary>
    /// Ein Scanner-Ergebnis (Tabelle rf_candidates) – auch abgelehnte Kandidaten werden mit Grund
    /// gespeichert, damit die Filterkette später datenbasiert kalibriert werden kann (Phase RF-5).
    /// </summary>
    public class RfCandidate
    {
        public long Id { get; set; }              // DB-Autoincrement
        public DateTime ScannedAt { get; set; }
        public int AccountId { get; set; }

        public string TokenId { get; set; } = string.Empty;
        public string MarketSlug { get; set; } = string.Empty;
        public string EventSlug { get; set; } = string.Empty;
        public string MarketQuestion { get; set; } = string.Empty;
        public string Outcome { get; set; } = string.Empty;
        public string Category { get; set; } = string.Empty;
        public string ClusterKey { get; set; } = string.Empty;

        public decimal Ask { get; set; }
        public int FeeBps { get; set; }
        public decimal NetEdgePct { get; set; }
        public decimal Score { get; set; }
        public DateTime? EndDate { get; set; }

        public bool Accepted { get; set; }
        public string RejectReason { get; set; } = string.Empty;
    }
}
