From 988ed8db049e2c9279612d792bd5ac9bb63e7a7d Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Mon, 18 Aug 2025 10:37:21 -0500 Subject: [PATCH] fix changing default alternate schedule (#2331) --- CHANGELOG.md | 1 + .../ReplacePlayoutAlternateScheduleItemsHandler.cs | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06ff47920..6ca750411 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -75,6 +75,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix incorrect media item counts after removing paths from local libraries - Fix song playback in playback troubleshooting - Fix seeking into extracted text subtitles +- Fix error when changing default (lowest priority) alternate schedule ### Changed - Allow multiple watermarks in playback troubleshooting diff --git a/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs b/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs index d706e8a94..d3381a752 100644 --- a/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs +++ b/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs @@ -112,13 +112,19 @@ public class ReplacePlayoutAlternateScheduleItemsHandler : } // save highest index directly to playout - if (playout.ProgramScheduleId != highest.ProgramScheduleId) + bool hasDefaultScheduleChange = playout.ProgramScheduleId != highest.ProgramScheduleId; + if (hasDefaultScheduleChange) { playout.ProgramScheduleId = highest.ProgramScheduleId; } await dbContext.SaveChangesAsync(cancellationToken); + if (hasDefaultScheduleChange) + { + await dbContext.Entry(playout).Reference(p => p.ProgramSchedule).LoadAsync(cancellationToken); + } + // load newly-added schedules foreach (ProgramScheduleAlternate alternate in playout.ProgramScheduleAlternates .Where(alternate => alternate.ProgramSchedule is null))