* add scheduling context to playout details table * fix missing context copies
27 lines
772 B
C#
27 lines
772 B
C#
using ErsatzTV.Core.Domain;
|
|
using ErsatzTV.Core.Extensions;
|
|
using ErsatzTV.Core.Interfaces.Scheduling;
|
|
|
|
namespace ErsatzTV.Core.Scheduling;
|
|
|
|
public class SingleMediaItemEnumerator(MediaItem mediaItem) : IMediaCollectionEnumerator
|
|
{
|
|
public string SchedulingContextName => "Single";
|
|
public CollectionEnumeratorState State { get; } = new();
|
|
public Option<MediaItem> Current => mediaItem;
|
|
public Option<bool> CurrentIncludeInProgramGuide => Option<bool>.None;
|
|
|
|
public int Count => 1;
|
|
public Option<TimeSpan> MinimumDuration => mediaItem.GetNonZeroDuration();
|
|
|
|
public void ResetState(CollectionEnumeratorState state)
|
|
{
|
|
// do nothing
|
|
}
|
|
|
|
public void MoveNext(Option<DateTimeOffset> scheduledAt)
|
|
{
|
|
// do nothing
|
|
}
|
|
}
|