| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using Abp.Domain.Entities;
- using Abp.Domain.Entities.Auditing;
- using Abp.Runtime.Security;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- using VberZero.BaseSystem.Users;
- namespace VberZero.BaseSystem.MultiTenancy;
- [Table("Sys_Tenants")]
- [Abp.MultiTenancy.MultiTenancySide(Abp.MultiTenancy.MultiTenancySides.Host)]
- public class Tenant : FullAuditedEntity<int>, IFullAudited<User>, IPassivable
- {
- public const int MaxTenancyNameLength = 64;
- public const int MaxConnectionStringLength = 1024;
- public const string DefaultTenantName = "Vber";
- public const string TenancyNameRegex = "^[a-zA-Z][a-zA-Z0-9_-]{1,}$";
- public const int MaxNameLength = 128;
- /// <summary>
- /// 租户名称。 此属性是此租户的唯一名称。
- /// 它可以用作Web应用程序中的子域名
- /// </summary>
- [Required]
- [StringLength(MaxTenancyNameLength)]
- public virtual string TenancyName { get; set; }
- /// <summary>
- /// 显示名称
- /// </summary>
- [Required]
- [StringLength(MaxNameLength)]
- public virtual string Name { get; set; }
- /// <summary>
- /// 租户数据库的 ENCRYPTED 连接字符串。
- /// 如果此租户存储在主机数据库中,则可以为 null。
- /// 使用 <see cref="SimpleStringCipher"/> 来加密/解密这个。
- /// </summary>
- [StringLength(MaxConnectionStringLength)]
- public virtual string ConnectionString { get; set; }
- /// <summary>
- /// 这个租户活跃吗?
- /// 如果租户未处于活动状态,则此租户的任何用户都无法使用该应用程序。
- /// </summary>
- public virtual bool IsActive { get; set; }
- public virtual User CreatorUser { get; set; }
- public virtual User LastModifierUser { get; set; }
- public virtual User DeleterUser { get; set; }
- public Tenant()
- {
- IsActive = true;
- }
- public Tenant(string tenancyName, string name)
- : this()
- {
- TenancyName = tenancyName;
- Name = name;
- }
- }
|