using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Jellyfin.Data.Entities { public abstract partial class Metadata { partial void Init(); /// /// Default constructor. Protected due to being abstract. /// protected Metadata() { PersonRoles = new HashSet(); Genres = new HashSet(); Artwork = new HashSet(); Ratings = new HashSet(); Sources = new HashSet(); Init(); } /// /// Public constructor with required data. /// /// The title or name of the object. /// ISO-639-3 3-character language codes. protected Metadata(string title, string language, DateTime dateadded, DateTime datemodified) { if (string.IsNullOrEmpty(title)) { throw new ArgumentNullException(nameof(title)); } this.Title = title; if (string.IsNullOrEmpty(language)) { throw new ArgumentNullException(nameof(language)); } this.Language = language; this.PersonRoles = new HashSet(); this.Genres = new HashSet(); this.Artwork = new HashSet(); this.Ratings = new HashSet(); this.Sources = new HashSet(); Init(); } /************************************************************************* * Properties *************************************************************************/ /// /// Backing field for Id. /// internal int _Id; /// /// When provided in a partial class, allows value of Id to be changed before setting. /// partial void SetId(int oldValue, ref int newValue); /// /// When provided in a partial class, allows value of Id to be changed before returning. /// partial void GetId(ref int result); /// /// Identity, Indexed, Required. /// [Key] [Required] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get { int value = _Id; GetId(ref value); return _Id = value; } protected set { int oldValue = _Id; SetId(oldValue, ref value); if (oldValue != value) { _Id = value; } } } /// /// Backing field for Title. /// protected string _Title; /// /// When provided in a partial class, allows value of Title to be changed before setting. /// partial void SetTitle(string oldValue, ref string newValue); /// /// When provided in a partial class, allows value of Title to be changed before returning. /// partial void GetTitle(ref string result); /// /// Required, Max length = 1024 /// The title or name of the object. /// [Required] [MaxLength(1024)] [StringLength(1024)] public string Title { get { string value = _Title; GetTitle(ref value); return _Title = value; } set { string oldValue = _Title; SetTitle(oldValue, ref value); if (oldValue != value) { _Title = value; } } } /// /// Backing field for OriginalTitle. /// protected string _OriginalTitle; /// /// When provided in a partial class, allows value of OriginalTitle to be changed before setting. /// partial void SetOriginalTitle(string oldValue, ref string newValue); /// /// When provided in a partial class, allows value of OriginalTitle to be changed before returning. /// partial void GetOriginalTitle(ref string result); /// /// Max length = 1024 /// [MaxLength(1024)] [StringLength(1024)] public string OriginalTitle { get { string value = _OriginalTitle; GetOriginalTitle(ref value); return _OriginalTitle = value; } set { string oldValue = _OriginalTitle; SetOriginalTitle(oldValue, ref value); if (oldValue != value) { _OriginalTitle = value; } } } /// /// Backing field for SortTitle. /// protected string _SortTitle; /// /// When provided in a partial class, allows value of SortTitle to be changed before setting. /// partial void SetSortTitle(string oldValue, ref string newValue); /// /// When provided in a partial class, allows value of SortTitle to be changed before returning. /// partial void GetSortTitle(ref string result); /// /// Max length = 1024 /// [MaxLength(1024)] [StringLength(1024)] public string SortTitle { get { string value = _SortTitle; GetSortTitle(ref value); return _SortTitle = value; } set { string oldValue = _SortTitle; SetSortTitle(oldValue, ref value); if (oldValue != value) { _SortTitle = value; } } } /// /// Backing field for Language. /// protected string _Language; /// /// When provided in a partial class, allows value of Language to be changed before setting. /// partial void SetLanguage(string oldValue, ref string newValue); /// /// When provided in a partial class, allows value of Language to be changed before returning. /// partial void GetLanguage(ref string result); /// /// Required, Min length = 3, Max length = 3 /// ISO-639-3 3-character language codes. /// [Required] [MinLength(3)] [MaxLength(3)] [StringLength(3)] public string Language { get { string value = _Language; GetLanguage(ref value); return _Language = value; } set { string oldValue = _Language; SetLanguage(oldValue, ref value); if (oldValue != value) { _Language = value; } } } /// /// Backing field for ReleaseDate. /// protected DateTimeOffset? _ReleaseDate; /// /// When provided in a partial class, allows value of ReleaseDate to be changed before setting. /// partial void SetReleaseDate(DateTimeOffset? oldValue, ref DateTimeOffset? newValue); /// /// When provided in a partial class, allows value of ReleaseDate to be changed before returning. /// partial void GetReleaseDate(ref DateTimeOffset? result); public DateTimeOffset? ReleaseDate { get { DateTimeOffset? value = _ReleaseDate; GetReleaseDate(ref value); return _ReleaseDate = value; } set { DateTimeOffset? oldValue = _ReleaseDate; SetReleaseDate(oldValue, ref value); if (oldValue != value) { _ReleaseDate = value; } } } /// /// Backing field for DateAdded. /// protected DateTime _DateAdded; /// /// When provided in a partial class, allows value of DateAdded to be changed before setting. /// partial void SetDateAdded(DateTime oldValue, ref DateTime newValue); /// /// When provided in a partial class, allows value of DateAdded to be changed before returning. /// partial void GetDateAdded(ref DateTime result); /// /// Required. /// [Required] public DateTime DateAdded { get { DateTime value = _DateAdded; GetDateAdded(ref value); return _DateAdded = value; } internal set { DateTime oldValue = _DateAdded; SetDateAdded(oldValue, ref value); if (oldValue != value) { _DateAdded = value; } } } /// /// Backing field for DateModified. /// protected DateTime _DateModified; /// /// When provided in a partial class, allows value of DateModified to be changed before setting. /// partial void SetDateModified(DateTime oldValue, ref DateTime newValue); /// /// When provided in a partial class, allows value of DateModified to be changed before returning. /// partial void GetDateModified(ref DateTime result); /// /// Required. /// [Required] public DateTime DateModified { get { DateTime value = _DateModified; GetDateModified(ref value); return _DateModified = value; } internal set { DateTime oldValue = _DateModified; SetDateModified(oldValue, ref value); if (oldValue != value) { _DateModified = value; } } } /// /// Required, ConcurrenyToken. /// [ConcurrencyCheck] [Required] public uint RowVersion { get; set; } public void OnSavingChanges() { RowVersion++; } /************************************************************************* * Navigation properties *************************************************************************/ [ForeignKey("PersonRole_PersonRoles_Id")] public virtual ICollection PersonRoles { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")] public virtual ICollection Genres { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")] public virtual ICollection Artwork { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")] public virtual ICollection Ratings { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")] public virtual ICollection Sources { get; protected set; } } }