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

22 lines
747 B
C#

namespace Modules.Library.Core.Domain.MediaContent;
public class TopLevelItem : Entity, IAggregateRoot, ICompletable
{
[Required]
public CommonProperties.CommonProperties CommonProperties { get; set; } = default!;
protected List<MediaContentItem> _items = [];
public IReadOnlyCollection<MediaContentItem> Items => _items.AsReadOnly();
[Required]
public User.User Creator { get; private set; } = default!;
public bool Completed { get; private set; }
public TimeSpan ExpirationTime { get; private set; } = TimeSpan.Zero;
public void SetCompleted() => Completed = true;
public void SetNotCompleted() => Completed = false;
public void SetExpirationTime(TimeSpan value) => ExpirationTime = value;
}