using System;
using Tornado3_2026Election.Domain;

namespace Tornado3_2026Election.Persistence;

public sealed class ScheduleItemState
{
    public Guid Id { get; set; }

    public string FormatId { get; set; } = string.Empty;

    public string FormatName { get; set; } = string.Empty;

    public string Description { get; set; } = string.Empty;

    public BroadcastChannel Channel { get; set; }

    public bool RequiresImage { get; set; }

    public double DefaultCutDurationSeconds { get; set; }

    public int TotalCuts { get; set; }

    public ScheduleRegionScope RegionScope { get; set; } = ScheduleRegionScope.All;

    public string ScheduleElectionType { get; set; } = string.Empty;

    public string RegionLabel { get; set; } = string.Empty;

    public string RegionCode { get; set; } = string.Empty;

    public Domain.ScheduleQueueItemState State { get; set; }
}
