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

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<Signal> FiveMinutes { get; set; }
    [Required] public List<Signal> FifteenMinutes { get; set; }
    [Required] public List<Signal> OneHour { get; set; }
    [Required] public List<Signal> FourHour { get; set; }
    [Required] public List<Signal> OneDay { get; set; }
}