2025-06-16 17:24:23 +08:00

81 lines
2.1 KiB
C#

using Syc.Basic.Web.WMS.Entitys;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Syc.Basic.Web.WMS.Enums;
namespace Syc.Basic.Web.WMS.DO
{
/// <summary>
/// 用户DO
/// </summary>
public class UserDO
{
private readonly User _user;
private readonly List<Role> _roles;
private readonly List<Organization> _organizations;
private readonly List<Position> _positions;
public UserDO(User user)
{
_user = user;
_roles = user.Roles;
_organizations = user.Organizations;
_positions = user.Positions;
}
/// <summary>
/// 用户
/// </summary>
/// <returns></returns>
public User User() => _user;
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable => _user.IsEnable;
/// <summary>
/// 部门
/// </summary>
public string Department => string.Join(';',_organizations?.Where(e => e.Type == OrganizationType.)?.OrderBy(e => e.Order)?.Select(e => e.Name).ToList());
/// <summary>
/// 角色名
/// </summary>
public string RoleNames => string.Join(';',_roles?.Select(e => e.Name));
/// <summary>
/// 角色
/// </summary>
/// <returns></returns>
public List<Role> Roles() => _roles;
/// <summary>
/// 角色编号
/// </summary>
public List<string> RoleCodes => _roles.Select(e => e.Code).ToList();
/// <summary>
/// 组织
/// </summary>
/// <returns></returns>
public List<Organization> Organizations() => _organizations;
/// <summary>
/// 职位
/// </summary>
/// <returns></returns>
public List<Position> Positions() => _positions;
/// <summary>
/// 检查密码
/// </summary>
/// <returns></returns>
public bool CheckPassword(string pwd) => pwd == _user.Password;
}
}