22 lines
747 B
C#
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;
|
|
} |