using ErsatzTV.Application.Playouts; namespace ErsatzTV.Controllers.Api.Requests; public record PlayoutAlternateScheduleItemRequest( int Id, int ProgramScheduleId, List DaysOfWeek, List DaysOfMonth, List MonthsOfYear, bool LimitToDateRange, int StartMonth, int StartDay, int? StartYear, int EndMonth, int EndDay, int? EndYear) { public ReplacePlayoutAlternateSchedule ToReplaceItem(int index) => new( Id, index, ProgramScheduleId, DaysOfWeek ?? [], DaysOfMonth ?? [], MonthsOfYear ?? [], LimitToDateRange, StartMonth, StartDay, StartYear, EndMonth, EndDay, EndYear); }