MyBookmark/Modules.Library.Domain/Entities/MediaContent/Items/Anime/AnimeItemSingle.cs
THE_KONDRAT 7b16d72329 ui and login
mongo => postgres
2024-11-03 16:08:39 +03:00

37 lines
981 B
C#

using Modules.Library.Domain.Entities.MediaContent.CommonProperties;
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, IEnumerable<NameItem> names) :
base(title, names)
{
_season = season;
}
public void SetDuration(TimeSpan value) => Duration = value;
protected override void StructureAction(Action action)
{
action.Invoke();
_season?.CheckIfCompleted();
_title.CheckIfCompleted();
}
}