// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 // // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 // // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! namespace Admin.NET.Core; /// /// 外键控件配置信息类 /// public class EffectForeignKeyConfigInput { /// /// 外键库标识 /// [Required(ErrorMessage = "外键库标识不能为空")] public virtual string ConfigId { get; set; } /// /// 外键实体名称 /// [Required(ErrorMessage = "外键实体名称不能为空")] public virtual string EntityName { get; set; } /// /// 首字母小写实体名称 /// [System.Text.Json.Serialization.JsonIgnore] public virtual string LowerEntityName => EntityName?[..1].ToLower() + EntityName?[1..]; /// /// 外键表名称 /// [Required(ErrorMessage = "外键表名称不能为空")] public virtual string TableName { get; set; } /// /// 表注释 /// [Required(ErrorMessage = "表注释不能为空")] public virtual string TableComment { get; set; } /// /// 外键显示属性名(多选) /// [Required(ErrorMessage = "外键显示属性名不能为空")] public virtual string DisplayPropertyNames { get; set; } /// /// 首位外键显示属性名 /// [System.Text.Json.Serialization.JsonIgnore] public virtual string FirstDisplayName => DisplayPropertyNames?.Split(",").First(); /// /// 首字母小写首位外键显示属性名 /// [System.Text.Json.Serialization.JsonIgnore] public virtual string LowerFirstDisplayName { get { var displayName = FirstDisplayName; return displayName?[..1].ToLower() + displayName?[1..]; } } /// /// 外键属性名 /// [Required(ErrorMessage = "外键属性名不能为空")] public virtual string LinkPropertyName { get; set; } /// /// 首字母小写外键属性名 /// [System.Text.Json.Serialization.JsonIgnore] public virtual string LowerLinkPropertyName => LinkPropertyName?[..1].ToLower() + LinkPropertyName?[1..]; /// /// 外键显示属性.NET类型 /// [Required(ErrorMessage = "外键显示属性.NET类型")] public virtual string LinkPropertyType { get; set; } /// /// 用于检索的属性名 /// public virtual string SearchPropertyName { get; set; } /// /// 首字母小写外键属性名 /// [System.Text.Json.Serialization.JsonIgnore] public virtual string LowerSearchPropertyName => SearchPropertyName?[..1].ToLower() + SearchPropertyName?[1..]; /// /// 用于检索的属性.NET类型 /// public virtual string SearchPropertyType { get; set; } /// /// 是否使用表格 /// public virtual bool UseTable { get; set; } /// /// 是否多选 /// public virtual bool Multiple { get; set; } } /// /// 树控件配置信息类 /// public class EffectTreeConfigInput : EffectForeignKeyConfigInput { /// /// 树组件标题不能为空 /// public virtual string TreeTitle { get; set; } /// /// 父属性名称 /// public virtual string ParentPropertyName { get; set; } /// /// 父属性.NET类型 /// public virtual string ParentPropertyType { get; set; } } /// /// 字典控件配置信息类 /// public class EffectDictConfigInput { /// /// 字典编码 /// [Required(ErrorMessage = "字典编码不能为空")] public virtual string Code { get; set; } /// /// 是否多选 /// public virtual bool Multiple { get; set; } } /// /// 文件控件配置信息类 /// public class EffectFileConfigInput { /// /// 链接预览 /// public virtual bool UseDownload { get; set; } /// /// 链接文本 /// public virtual string DownloadText { get; set; } /// /// 是否图片 /// public virtual bool IsImage { get; set; } } /// /// 时间控件配置信息类 /// public class EffectDatePickerConfigInput { /// /// 格式 /// [Required(ErrorMessage = "时间控件格式不能为空")] public virtual string Format { get; set; } = "datetime"; /// /// 默认值 /// public virtual string Default { get; set; } }