diff options
Diffstat (limited to 'Jellyfin.Data/Entities/Preference.cs')
| -rw-r--r-- | Jellyfin.Data/Entities/Preference.cs | 100 |
1 files changed, 44 insertions, 56 deletions
diff --git a/Jellyfin.Data/Entities/Preference.cs b/Jellyfin.Data/Entities/Preference.cs index 505f52e6b..0ca9d7eff 100644 --- a/Jellyfin.Data/Entities/Preference.cs +++ b/Jellyfin.Data/Entities/Preference.cs @@ -1,63 +1,33 @@ using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Jellyfin.Data.Enums; namespace Jellyfin.Data.Entities { - public partial class Preference + /// <summary> + /// An entity representing a preference attached to a user or group. + /// </summary> + public class Preference : ISavingChanges { - partial void Init(); - - /// <summary> - /// Default constructor. Protected due to required properties, but present because EF needs it. - /// </summary> - protected Preference() - { - Init(); - } - /// <summary> - /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving. + /// Initializes a new instance of the <see cref="Preference"/> class. + /// Public constructor with required data. /// </summary> - public static Preference CreatePreferenceUnsafe() + /// <param name="kind">The preference kind.</param> + /// <param name="value">The value.</param> + public Preference(PreferenceKind kind, string value) { - return new Preference(); - } - - /// <summary> - /// Public constructor with required data - /// </summary> - /// <param name="kind"></param> - /// <param name="value"></param> - /// <param name="_user0"></param> - /// <param name="_group1"></param> - public Preference(Enums.PreferenceKind kind, string value, User _user0, Group _group1) - { - this.Kind = kind; - - if (string.IsNullOrEmpty(value)) throw new ArgumentNullException(nameof(value)); - this.Value = value; - - if (_user0 == null) throw new ArgumentNullException(nameof(_user0)); - _user0.Preferences.Add(this); - - if (_group1 == null) throw new ArgumentNullException(nameof(_group1)); - _group1.Preferences.Add(this); - - - Init(); + Kind = kind; + Value = value ?? throw new ArgumentNullException(nameof(value)); } /// <summary> - /// Static create function (for use in LINQ queries, etc.) + /// Initializes a new instance of the <see cref="Preference"/> class. + /// Default constructor. Protected due to required properties, but present because EF needs it. /// </summary> - /// <param name="kind"></param> - /// <param name="value"></param> - /// <param name="_user0"></param> - /// <param name="_group1"></param> - public static Preference Create(Enums.PreferenceKind kind, string value, User _user0, Group _group1) + protected Preference() { - return new Preference(kind, value, _user0, _group1); } /************************************************************************* @@ -65,43 +35,61 @@ namespace Jellyfin.Data.Entities *************************************************************************/ /// <summary> - /// Identity, Indexed, Required + /// Gets or sets the id of this preference. /// </summary> + /// <remarks> + /// Identity, Indexed, Required. + /// </remarks> [Key] [Required] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; protected set; } /// <summary> - /// Required + /// Gets or sets the type of this preference. /// </summary> + /// <remarks> + /// Required. + /// </remarks> [Required] - public Enums.PreferenceKind Kind { get; set; } + public PreferenceKind Kind { get; protected set; } /// <summary> - /// Required, Max length = 65535 + /// Gets or sets the value of this preference. /// </summary> + /// <remarks> + /// Required, Max length = 65535. + /// </remarks> [Required] [MaxLength(65535)] [StringLength(65535)] public string Value { get; set; } /// <summary> - /// Required, ConcurrenyToken + /// Gets or sets the row version. /// </summary> + /// <remarks> + /// Required, ConcurrencyToken. + /// </remarks> [ConcurrencyCheck] [Required] public uint RowVersion { get; set; } + /// <summary> + /// Static create function (for use in LINQ queries, etc.) + /// </summary> + /// <param name="kind">The preference kind.</param> + /// <param name="value">The value.</param> + /// <returns>The new instance.</returns> + public static Preference Create(PreferenceKind kind, string value) + { + return new Preference(kind, value); + } + + /// <inheritdoc/> public void OnSavingChanges() { RowVersion++; } - - /************************************************************************* - * Navigation properties - *************************************************************************/ - } } - |
