using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Jellyfin.Data.Entities { public partial class PersonRole { partial void Init(); /// /// Default constructor. Protected due to required properties, but present because EF needs it. /// protected PersonRole() { // NOTE: This class has one-to-one associations with PersonRole. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. Sources = new HashSet(); Init(); } /// /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving. /// public static PersonRole CreatePersonRoleUnsafe() { return new PersonRole(); } /// /// Public constructor with required data /// /// /// public PersonRole(Enums.PersonRoleType type, Metadata _metadata0) { // NOTE: This class has one-to-one associations with PersonRole. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. this.Type = type; if (_metadata0 == null) throw new ArgumentNullException(nameof(_metadata0)); _metadata0.PersonRoles.Add(this); this.Sources = new HashSet(); Init(); } /// /// Static create function (for use in LINQ queries, etc.) /// /// /// public static PersonRole Create(Enums.PersonRoleType type, Metadata _metadata0) { return new PersonRole(type, _metadata0); } /************************************************************************* * 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 Role /// protected string _Role; /// /// When provided in a partial class, allows value of Role to be changed before setting. /// partial void SetRole(string oldValue, ref string newValue); /// /// When provided in a partial class, allows value of Role to be changed before returning. /// partial void GetRole(ref string result); /// /// Max length = 1024 /// [MaxLength(1024)] [StringLength(1024)] public string Role { get { string value = _Role; GetRole(ref value); return (_Role = value); } set { string oldValue = _Role; SetRole(oldValue, ref value); if (oldValue != value) { _Role = value; } } } /// /// Backing field for Type /// protected Enums.PersonRoleType _Type; /// /// When provided in a partial class, allows value of Type to be changed before setting. /// partial void SetType(Enums.PersonRoleType oldValue, ref Enums.PersonRoleType newValue); /// /// When provided in a partial class, allows value of Type to be changed before returning. /// partial void GetType(ref Enums.PersonRoleType result); /// /// Required /// [Required] public Enums.PersonRoleType Type { get { Enums.PersonRoleType value = _Type; GetType(ref value); return (_Type = value); } set { Enums.PersonRoleType oldValue = _Type; SetType(oldValue, ref value); if (oldValue != value) { _Type = value; } } } /// /// Required, ConcurrenyToken /// [ConcurrencyCheck] [Required] public uint RowVersion { get; set; } public void OnSavingChanges() { RowVersion++; } /************************************************************************* * Navigation properties *************************************************************************/ /// /// Required /// [ForeignKey("Person_Id")] public virtual Person Person { get; set; } [ForeignKey("Artwork_Artwork_Id")] public virtual Artwork Artwork { get; set; } [ForeignKey("MetadataProviderId_Sources_Id")] public virtual ICollection Sources { get; protected set; } } }