| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- using Abp.Domain.Entities;
- using Abp.Domain.Entities.Auditing;
- using VberZero.BaseSystem.Users;
- namespace VberZero.BaseSystem.Roles;
- [Table("Sys_Roles")]
- public class Role : FullAuditedEntity<int>, IFullAudited<User>, IMayHaveTenant
- {
- public const int MaxDisplayNameLength = 64;
- public const int MaxNameLength = 32;
- public const int MaxDescriptionLength = 5000;
- public virtual int? TenantId { get; set; }
- [Required]
- [StringLength(MaxNameLength)]
- public virtual string Name { get; set; }
- [Required]
- [StringLength(MaxDisplayNameLength)]
- public virtual string DisplayName { get; set; }
- /// <summary>
- /// 账户类型
- /// </summary>
- public virtual VzDefinition.AccountType AccountType { get; set; }
- /// <summary>
- /// 用户级别
- /// </summary>
- public virtual VzDefinition.UserType UserType { get; set; }
- [StringLength(MaxDescriptionLength)]
- public string Description { get; set; }
- public virtual bool IsStatic { get; set; }
- public virtual bool IsDefault { get; set; }
- public const int MaxConcurrencyStampLength = 128;
- /// <summary>
- /// 此角色的唯一名称。
- /// </summary>
- [Required]
- [StringLength(MaxNameLength)]
- public virtual string NormalizedName { get; set; }
- [ForeignKey("RoleId")]
- public virtual ICollection<RoleClaim> Claims { get; set; }
- /// <summary>
- /// 每当角色持久化到库时必须更改的随机值
- /// </summary>
- [StringLength(MaxConcurrencyStampLength)]
- public virtual string ConcurrencyStamp { get; set; } = Guid.NewGuid().ToString();
- public virtual User DeleterUser { get; set; }
- public virtual User CreatorUser { get; set; }
- public virtual User LastModifierUser { get; set; }
- [ForeignKey("RoleId")]
- public virtual ICollection<RolePermissionSetting> Permissions { get; set; }
- public Role()
- {
- Name = Guid.NewGuid().ToString("N");
- SetNormalizedName();
- AccountType = VzDefinition.AccountType.Client;
- UserType = VzDefinition.UserType.Ordinary;
- }
- public Role(int? tenantId, string displayName) : this()
- {
- TenantId = tenantId;
- DisplayName = displayName;
- SetNormalizedName();
- }
- public Role(int? tenantId, string name, string displayName)
- : this(tenantId, displayName)
- {
- Name = name;
- SetNormalizedName();
- }
- public virtual void SetNormalizedName()
- {
- NormalizedName = Name.ToUpperInvariant();
- }
- public override string ToString()
- {
- return $"[Role {Id}, Name={Name}]";
- }
- }
|