using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace FinlyticTechnicalAnalysis.Entities; [Table("MarketCandles")] public class MarketCandleEntity { [Key] public long Id { get; set; } [Required] [MaxLength(20)] public string Symbol { get; set; } = string.Empty; // e.g. "US5398301094" or "AAPL" or "^VIX" [Required] [MaxLength(10)] public string Interval { get; set; } = "1d"; // "1h", "1d" [Required] public DateTime Timestamp { get; set; } [Column(TypeName = "decimal(18, 6)")] public decimal Open { get; set; } [Column(TypeName = "decimal(18, 6)")] public decimal High { get; set; } [Column(TypeName = "decimal(18, 6)")] public decimal Low { get; set; } [Column(TypeName = "decimal(18, 6)")] public decimal Close { get; set; } public long Volume { get; set; } [Column(TypeName = "decimal(18, 6)")] public decimal? Bid { get; set; } [Column(TypeName = "decimal(18, 6)")] public decimal? Ask { get; set; } }