//------------------------------------------------------------------------------ // // This code was generated from a template. // // Manual changes to this file may cause unexpected behavior in your application. // Manual changes to this file will be overwritten if the code is regenerated. // // Produced by Entity Framework Visual Editor // https://github.com/msawczyn/EFDesigner // //------------------------------------------------------------------------------ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Runtime.CompilerServices; namespace Jellyfin.Data.Entities { public partial class Permission { partial void Init(); /// /// Default constructor. Protected due to required properties, but present because EF needs it. /// protected Permission() { Init(); } /// /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving. /// public static Permission CreatePermissionUnsafe() { return new Permission(); } /// /// Public constructor with required data /// /// /// /// /// public Permission(global::Jellyfin.Data.Enums.PermissionKind kind, bool value, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) { this.Kind = kind; this.Value = value; if (_user0 == null) throw new ArgumentNullException(nameof(_user0)); _user0.Permissions.Add(this); if (_group1 == null) throw new ArgumentNullException(nameof(_group1)); _group1.GroupPermissions.Add(this); Init(); } /// /// Static create function (for use in LINQ queries, etc.) /// /// /// /// /// public static Permission Create(global::Jellyfin.Data.Enums.PermissionKind kind, bool value, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) { return new Permission(kind, value, _user0, _group1); } /************************************************************************* * Properties *************************************************************************/ /// /// Identity, Indexed, Required /// [Key] [Required] public int Id { get; protected set; } /// /// Backing field for Kind /// protected global::Jellyfin.Data.Enums.PermissionKind _Kind; /// /// When provided in a partial class, allows value of Kind to be changed before setting. /// partial void SetKind(global::Jellyfin.Data.Enums.PermissionKind oldValue, ref global::Jellyfin.Data.Enums.PermissionKind newValue); /// /// When provided in a partial class, allows value of Kind to be changed before returning. /// partial void GetKind(ref global::Jellyfin.Data.Enums.PermissionKind result); /// /// Required /// [Required] public global::Jellyfin.Data.Enums.PermissionKind Kind { get { global::Jellyfin.Data.Enums.PermissionKind value = _Kind; GetKind(ref value); return (_Kind = value); } set { global::Jellyfin.Data.Enums.PermissionKind oldValue = _Kind; SetKind(oldValue, ref value); if (oldValue != value) { _Kind = value; OnPropertyChanged(); } } } /// /// Required /// [Required] public bool Value { get; set; } /// /// Concurrency token /// [Timestamp] public Byte[] Timestamp { get; set; } /************************************************************************* * Navigation properties *************************************************************************/ public virtual event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } }