using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using Volo.Abp; using Volo.Abp.Domain.Entities.Auditing; namespace BaseService.BaseData { /// /// 用户-分支 /// public class UserBranch : AuditedAggregateRoot { /// /// 用户ID /// public Guid UserId { get; set; } // /// // /// 用户名称 // /// // [NotMapped] // public string UserName { get; set; } /// /// 分支ID /// public Guid BranchId { get; set; } // /// // /// 分支机构名称 // /// // [NotMapped] // public string BranchName { get; set; } // /// /// 软删除 /// //public bool IsDeleted { get; set; } public virtual ICollection Roles { get; set; } public UserBranch(Guid id, Guid userId, Guid branchId) : base(id) { UserId = userId; BranchId = branchId; Roles = new Collection(); } public virtual void AddRole(Guid roleId) { Check.NotNull(roleId, nameof(roleId)); if (IsInRole(roleId)) { return; } Roles.Add(new UserBranchRole(roleId)); } public virtual void RemoveRole(Guid roleId) { Check.NotNull(roleId, nameof(roleId)); if (!IsInRole(roleId)) { return; } Roles.RemoveAll(r => r.RoleId == roleId); } public virtual bool IsInRole(Guid roleId) { Check.NotNull(roleId, nameof(roleId)); return Roles.Any(r => r.RoleId == roleId); } } }