85 lines
2.7 KiB
C#
85 lines
2.7 KiB
C#
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
using Nop.Web.Framework.Models;
|
|
using Nop.Web.Framework.Mvc.ModelBinding;
|
|
|
|
namespace Nop.Web.Areas.Admin.Models.Plugins;
|
|
|
|
/// <summary>
|
|
/// Represents a plugin model
|
|
/// </summary>
|
|
public partial record PluginModel : BaseNopModel, IAclSupportedModel, ILocalizedModel<PluginLocalizedModel>, IPluginModel, IStoreMappingSupportedModel
|
|
{
|
|
#region Ctor
|
|
|
|
public PluginModel()
|
|
{
|
|
Locales = new List<PluginLocalizedModel>();
|
|
|
|
SelectedStoreIds = new List<int>();
|
|
AvailableStores = new List<SelectListItem>();
|
|
SelectedCustomerRoleIds = new List<int>();
|
|
AvailableCustomerRoles = new List<SelectListItem>();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Properties
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.Group")]
|
|
public string Group { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.FriendlyName")]
|
|
public string FriendlyName { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.SystemName")]
|
|
public string SystemName { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.Version")]
|
|
public string Version { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.Author")]
|
|
public string Author { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.DisplayOrder")]
|
|
public int DisplayOrder { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.Configure")]
|
|
public string ConfigurationUrl { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.Installed")]
|
|
public bool Installed { get; set; }
|
|
|
|
public string Description { get; set; }
|
|
|
|
public bool CanChangeEnabled { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.IsEnabled")]
|
|
public bool IsEnabled { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.Logo")]
|
|
public string LogoUrl { get; set; }
|
|
|
|
public IList<PluginLocalizedModel> Locales { get; set; }
|
|
|
|
public IList<int> SelectedCustomerRoleIds { get; set; }
|
|
|
|
public IList<SelectListItem> AvailableCustomerRoles { get; set; }
|
|
|
|
//store mapping
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.LimitedToStores")]
|
|
public IList<int> SelectedStoreIds { get; set; }
|
|
|
|
public IList<SelectListItem> AvailableStores { get; set; }
|
|
|
|
public bool IsActive { get; set; }
|
|
|
|
#endregion
|
|
}
|
|
|
|
public partial record PluginLocalizedModel : ILocalizedLocaleModel
|
|
{
|
|
public int LanguageId { get; set; }
|
|
|
|
[NopResourceDisplayName("Admin.Configuration.Plugins.Fields.FriendlyName")]
|
|
public string FriendlyName { get; set; }
|
|
} |