using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; namespace Oqtane.Models { /// /// Information about a Theme in Oqtane. /// public class Theme : ModelBase { public Theme() { Name = ""; Version = ""; Owner = ""; Url = ""; Contact = ""; License = ""; Dependencies = ""; Template = ""; ThemeSettingsType = ""; ContainerSettingsType = ""; PackageName = ""; Resources = null; } /// /// Reference to the . /// public int ThemeId { get; set; } /// /// Full Namespace / Identifier of the Theme. /// public string ThemeName { get; set; } /// /// Friendly name to show in UI /// public string Name { get; set; } /// /// Version information of this Theme based on the information stored in its assembly /// public string Version { get; set; } // additional ITheme properties [NotMapped] public string Owner { get; set; } [NotMapped] public string Url { get; set; } [NotMapped] public string Contact { get; set; } [NotMapped] public string License { get; set; } [NotMapped] public string Dependencies { get; set; } [NotMapped] public string ThemeSettingsType { get; set; } // added in 2.0.2 [NotMapped] public string ContainerSettingsType { get; set; } // added in 2.0.2 [NotMapped] public string PackageName { get; set; } // added in 2.1.0 [NotMapped] public List Resources { get; set; } // added in 4.0.0 [NotMapped] public bool IsAutoEnabled { get; set; } = true; // added in 4.0.0 // internal properties [NotMapped] public int SiteId { get; set; } [NotMapped] public bool IsEnabled { get; set; } [NotMapped] public string AssemblyName { get; set; } [NotMapped] public List Themes { get; set; } [NotMapped] public List Containers { get; set; } [NotMapped] public string Template { get; set; } [NotMapped] public string Fingerprint { get; set; } #region Obsolete Properties [Obsolete("This property is obsolete. Use Themes instead.", false)] [NotMapped] public string ThemeControls { get; set; } [Obsolete("This property is obsolete. Use Layouts instead.", false)] [NotMapped] public string PaneLayouts { get; set; } [Obsolete("This property is obsolete. Use Containers instead.", false)] [NotMapped] public string ContainerControls { get; set; } [Obsolete("This property is obsolete.", false)] [NotMapped] public List Layouts { get; set; } #endregion } }