using NetAdmin.Domain.Dto.Sys.Dept;
using NetAdmin.Domain.Dto.Sys.Role;
namespace NetAdmin.Domain.Dto.Sys.User;
///
/// 响应:导出用户
///
public record ExportUserRsp : QueryUserRsp
{
///
[CsvIndex(7)]
[CsvIgnore(false)]
[CsvName(nameof(Ln.创建时间))]
public override DateTime CreatedTime { get; init; }
///
[CsvIgnore]
public override QueryDeptRsp Dept { get; init; }
///
/// 所属部门
///
[CsvIndex(5)]
[CsvName(nameof(Ln.所属部门))]
public string DeptName { get; init; }
///
[CsvIndex(3)]
[CsvIgnore(false)]
[CsvName(nameof(Ln.邮箱号))]
public override string Email { get; init; }
///
[CsvIndex(6)]
[CsvIgnore(false)]
[CsvName(nameof(Ln.是否启用))]
public override bool Enabled { get; init; }
///
[CsvIndex(0)]
[CsvIgnore(false)]
[CsvName(nameof(Ln.唯一编码))]
public override long Id { get; init; }
///
[CsvIndex(2)]
[CsvIgnore(false)]
[CsvName(nameof(Ln.手机号))]
public override string Mobile { get; init; }
///
/// 所属角色
///
[CsvIndex(4)]
[CsvName(nameof(Ln.所属角色))]
public string RoleNames { get; init; }
///
[CsvIgnore]
public override IEnumerable Roles { get; init; }
///
[CsvIndex(1)]
[CsvIgnore(false)]
[CsvName(nameof(Ln.用户名))]
public override string UserName { get; init; }
///
public override void Register(TypeAdapterConfig config)
{
_ = config.ForType()
.Map(d => d.DeptName, s => s.Dept.Name)
.Map(d => d.RoleNames, s => string.Join(',', s.Roles.Select(x => x.Name)));
}
}