From 71ece0642f79194d863c8b8d0f1c4c42bc053f03 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Wed, 10 Mar 2021 22:37:57 +0000 Subject: [PATCH] fix playout time zone bugs (#60) * fix time zone bugs with playout building * more time zone fixes --- ErsatzTV.Core/Scheduling/PlayoutBuilder.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ErsatzTV.Core/Scheduling/PlayoutBuilder.cs b/ErsatzTV.Core/Scheduling/PlayoutBuilder.cs index b92d381e2..2b92d8a3e 100644 --- a/ErsatzTV.Core/Scheduling/PlayoutBuilder.cs +++ b/ErsatzTV.Core/Scheduling/PlayoutBuilder.cs @@ -106,7 +106,7 @@ namespace ErsatzTV.Core.Scheduling PlayoutAnchor startAnchor = FindStartAnchor(playout, playoutStart, sortedScheduleItems); // start at the previously-decided time - DateTimeOffset currentTime = startAnchor.NextStart; + DateTimeOffset currentTime = startAnchor.NextStartOffset.ToLocalTime(); _logger.LogDebug( "Starting playout {PlayoutId} for channel {ChannelNumber} - {ChannelName} at {StartTime}", playout.Id, @@ -277,7 +277,7 @@ namespace ErsatzTV.Core.Scheduling playout.ProgramScheduleAnchors = BuildProgramScheduleAnchors(playout, collectionEnumerators); // remove any items outside the desired range - playout.Items.RemoveAll(old => old.Finish < playoutStart || old.Start > playoutFinish); + playout.Items.RemoveAll(old => old.FinishOffset < playoutStart || old.StartOffset > playoutFinish); return playout; } @@ -297,7 +297,7 @@ namespace ErsatzTV.Core.Scheduling { NextScheduleItem = schedule, NextScheduleItemId = schedule.Id, - NextStart = start.Date + schedule.StartTime.GetValueOrDefault() + NextStart = (start - start.TimeOfDay).UtcDateTime + schedule.StartTime.GetValueOrDefault() }; case StartType.Dynamic: default: @@ -305,7 +305,7 @@ namespace ErsatzTV.Core.Scheduling { NextScheduleItem = schedule, NextScheduleItemId = schedule.Id, - NextStart = start.Date + NextStart = (start - start.TimeOfDay).UtcDateTime }; } });