using WatchIt.Database.Model.Genres; using WatchIt.Database.Model.Photos; using WatchIt.Database.Model.Roles; namespace WatchIt.Database.Model.Media; public abstract class Medium { #region PROPERTIES public long Id { get; set; } public MediumType Type { get; set; } public string Title { get; set; } = default!; public string? OriginalTitle { get; set; } public string? Description { get; set; } public short? Duration { get; set; } public DateOnly? ReleaseDate { get; set; } public uint Version { get; set; } #endregion #region NAVIGATION // Genres public virtual IEnumerable GenresRelationshipObjects { get; set; } = new List(); public virtual IEnumerable Genres { get; set; } = new List(); // Picture public virtual MediumPicture? Picture { get; set; } // Photos public virtual IEnumerable Photos { get; set; } = new List(); // View counts public virtual IEnumerable ViewCounts { get; set; } = new List(); // Ratings public virtual IEnumerable Ratings { get; set; } = new List(); public virtual IEnumerable RatedBy { get; set; } = new List(); // Roles public virtual IEnumerable Roles { get; set; } = new List(); #endregion }