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 { [Table("ActivityLog")] public partial class ActivityLog { partial void Init(); /// /// Default constructor. Protected due to required properties, but present because EF needs it. /// protected ActivityLog() { Init(); } /// /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving. /// public static ActivityLog CreateActivityLogUnsafe() { return new ActivityLog(); } /// /// Public constructor with required data /// /// /// /// /// /// public ActivityLog(string name, string type, Guid userid, DateTime datecreated, Microsoft.Extensions.Logging.LogLevel logseverity) { if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name)); this.Name = name; if (string.IsNullOrEmpty(type)) throw new ArgumentNullException(nameof(type)); this.Type = type; this.UserId = userid; this.DateCreated = datecreated; this.LogSeverity = logseverity; Init(); } /// /// Static create function (for use in LINQ queries, etc.) /// /// /// /// /// /// public static ActivityLog Create(string name, string type, Guid userid, DateTime datecreated, Microsoft.Extensions.Logging.LogLevel logseverity) { return new ActivityLog(name, type, userid, datecreated, logseverity); } /************************************************************************* * Properties *************************************************************************/ /// /// Identity, Indexed, Required /// [Key] [Required] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; protected set; } /// /// Required, Max length = 512 /// [Required] [MaxLength(512)] [StringLength(512)] public string Name { get; set; } /// /// Max length = 512 /// [MaxLength(512)] [StringLength(512)] public string Overview { get; set; } /// /// Max length = 512 /// [MaxLength(512)] [StringLength(512)] public string ShortOverview { get; set; } /// /// Required, Max length = 256 /// [Required] [MaxLength(256)] [StringLength(256)] public string Type { get; set; } /// /// Required /// [Required] public Guid UserId { get; set; } /// /// Max length = 256 /// [MaxLength(256)] [StringLength(256)] public string ItemId { get; set; } /// /// Required /// [Required] public DateTime DateCreated { get; set; } /// /// Required /// [Required] public Microsoft.Extensions.Logging.LogLevel LogSeverity { get; set; } /// /// Required, ConcurrenyToken /// [ConcurrencyCheck] [Required] public uint RowVersion { get; set; } public void OnSavingChanges() { RowVersion++; } } }