35 lines
963 B
C#
35 lines
963 B
C#
|
|
namespace Modules.Library.Domain.Entities.MediaContent.Items.Anime;
|
|
|
|
public abstract class AnimeItemSingle : AnimeItem
|
|
{
|
|
protected readonly AnimeSeason? _season;
|
|
public TimeSpan? Duration { get; private set; }
|
|
|
|
private protected AnimeItemSingle() : base() { }
|
|
private protected AnimeItemSingle(TimeSpan? duration) : base()
|
|
{
|
|
Duration = duration;
|
|
}
|
|
|
|
internal AnimeItemSingle(AnimeTitle title, AnimeSeason? season) : base(title)
|
|
{
|
|
_season = season;
|
|
}
|
|
|
|
internal AnimeItemSingle(AnimeTitle title, AnimeSeason? season, Guid nameOriginalLanguageId, string nameOriginal) :
|
|
base(title, nameOriginalLanguageId, nameOriginal)
|
|
{
|
|
_season = season;
|
|
}
|
|
|
|
public void SetDuration(TimeSpan value) => Duration = value;
|
|
|
|
protected override void StructureAction(Action action)
|
|
{
|
|
action.Invoke();
|
|
_season?.CheckIfCompleted();
|
|
_title.CheckIfCompleted();
|
|
}
|
|
|
|
} |