using ErsatzTV.Application.ProgramSchedules; namespace ErsatzTV.Controllers.Api.Requests; public record ReplaceScheduleItemsRequest(List Items) { public ReplaceProgramScheduleItems ToCommand(int scheduleId, Option expectedVersion = default) => new( scheduleId, (Items ?? []).Select((item, index) => item.ToReplaceCommand(index)).ToList(), expectedVersion); }