From 417f35a8349a7f7d7bf779d046b67b5e290a8f32 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sun, 24 Oct 2021 18:18:22 -0500 Subject: [PATCH] fix saving dynamic start time (#453) --- CHANGELOG.md | 2 ++ .../Commands/ProgramScheduleItemCommandBase.cs | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 466b0d67b..08f5a4474 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Fixed +- Fix saving dynamic start time on schedule items ## [0.2.0-alpha] - 2021-10-23 ### Fixed diff --git a/ErsatzTV.Application/ProgramSchedules/Commands/ProgramScheduleItemCommandBase.cs b/ErsatzTV.Application/ProgramSchedules/Commands/ProgramScheduleItemCommandBase.cs index b4686bb87..808b7cfbf 100644 --- a/ErsatzTV.Application/ProgramSchedules/Commands/ProgramScheduleItemCommandBase.cs +++ b/ErsatzTV.Application/ProgramSchedules/Commands/ProgramScheduleItemCommandBase.cs @@ -169,7 +169,7 @@ namespace ErsatzTV.Application.ProgramSchedules.Commands { ProgramScheduleId = programSchedule.Id, Index = index, - StartTime = FixDuration(item.StartTime.GetValueOrDefault()), + StartTime = FixStartTime(item.StartTime), CollectionType = item.CollectionType, CollectionId = item.CollectionId, MultiCollectionId = item.MultiCollectionId, @@ -188,7 +188,7 @@ namespace ErsatzTV.Application.ProgramSchedules.Commands { ProgramScheduleId = programSchedule.Id, Index = index, - StartTime = FixDuration(item.StartTime.GetValueOrDefault()), + StartTime = FixStartTime(item.StartTime), CollectionType = item.CollectionType, CollectionId = item.CollectionId, MultiCollectionId = item.MultiCollectionId, @@ -207,7 +207,7 @@ namespace ErsatzTV.Application.ProgramSchedules.Commands { ProgramScheduleId = programSchedule.Id, Index = index, - StartTime = FixDuration(item.StartTime.GetValueOrDefault()), + StartTime = FixStartTime(item.StartTime), CollectionType = item.CollectionType, CollectionId = item.CollectionId, MultiCollectionId = item.MultiCollectionId, @@ -227,7 +227,7 @@ namespace ErsatzTV.Application.ProgramSchedules.Commands { ProgramScheduleId = programSchedule.Id, Index = index, - StartTime = FixDuration(item.StartTime.GetValueOrDefault()), + StartTime = FixStartTime(item.StartTime), CollectionType = item.CollectionType, CollectionId = item.CollectionId, MultiCollectionId = item.MultiCollectionId, @@ -249,5 +249,10 @@ namespace ErsatzTV.Application.ProgramSchedules.Commands private static TimeSpan FixDuration(TimeSpan duration) => duration >= TimeSpan.FromDays(1) ? duration.Subtract(TimeSpan.FromDays(1)) : duration; + + private static TimeSpan? FixStartTime(TimeSpan? startTime) => + startTime.HasValue && startTime.Value >= TimeSpan.FromDays(1) + ? startTime.Value.Subtract(TimeSpan.FromDays(1)) + : startTime; } }