81 lines
2.1 KiB
C#
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;
|
|
}
|
|
}
|