MyBookmark/Modules.Library.Core/Domain/MediaContent/MediaContentItem.cs
2024-09-04 23:08:56 +03:00

29 lines
839 B
C#

using Modules.Library.Core.Domain.MediaContent.Items;
namespace Modules.Library.Core.Domain.MediaContent;
public abstract class MediaContentItem : Entity, IOrderableItem, IVariantItem, ICompletable
{
[Required]
public CommonProperties.CommonProperties CommonProperties { get; set; } = default!;
public uint Order { get; private set; }
public uint Variant { get; private set; }
public bool Completed { get; private set; }
public TimeSpan ExpirationTime { get; private set; } = TimeSpan.Zero;
public void SetOrder(uint order) => Order = order;
public void SetVariant(uint variant) => Variant = variant;
public void SetCompleted() => Completed = true;
public void SetNotCompleted() => Completed = false;
public void SetExpirationTime(TimeSpan value) => ExpirationTime = value;
}