using System.ComponentModel.DataAnnotations;
using Managing.Common;
using Managing.Domain.Indicators;
using Managing.Domain.Scenarios;

namespace Managing.Domain.Statistics;

public class SpotlightOverview
{
    [Required] public List<Spotlight> Spotlights { get; set; }
    [Required] public DateTime DateTime { get; set; }
    public Guid Identifier { get; set; }
    public int ScenarioCount { get; set; }
}

public class Spotlight
{
    [Required] public Scenario Scenario { get; set; }
    [Required] public List<TickerSignal> TickerSignals { get; set; }
}

public class TickerSignal
{
    [Required] public Enums.Ticker Ticker { get; set; }
    [Required] public List<LightSignal> FiveMinutes { get; set; }
    [Required] public List<LightSignal> FifteenMinutes { get; set; }
    [Required] public List<LightSignal> OneHour { get; set; }
    [Required] public List<LightSignal> FourHour { get; set; }
    [Required] public List<LightSignal> OneDay { get; set; }
}