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

95 lines
4.8 KiB
C#

using Syc.Basic.Web.WMS.DO;
using Syc.Basic.Web.WMS.Dtos;
using Syc.Basic.Web.WMS.Dtos.Organization;
using Syc.Basic.Web.WMS.Dtos.Role;
using Syc.Basic.Web.WMS.Dtos.User;
using Syc.Basic.Web.WMS.Entitys;
using Syc.Basic.Web.WMS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Syc.Basic.Web.Mapper
{
public class UserMapper : WMSApplicationAutoMapperProfile
{
public UserMapper()
{
CreateMap<User, Identity>()
.ForMember(dest => dest.Roles, opt => opt.MapFrom(m => string.Join(';', m.Roles.Select(e => e.Code))))
.ForMember(dest => dest.Organizations, opt => opt.MapFrom(m => string.Join(';', m.Organizations.Select(e => e.Code))))
.ForMember(dest => dest.Positions, opt => opt.MapFrom(m => string.Join(';', m.Positions.Select(e => e.Code))))
.ReverseMap();
CreateMap<Identity, GetUserInfoDto>()
.ForMember(dest => dest.userId, opt => opt.MapFrom(m => m.Id))
.ForMember(dest => dest.username, opt => opt.MapFrom(m => m.RealName))
.ForMember(dest => dest.roles, opt => opt.MapFrom(m => m.RolesCode()));
CreateMap<Menu, RouteItem>()
.ForMember(dest => dest.path, opt => opt.MapFrom(m => m.RoutePath))
.ForMember(dest => dest.parentId, opt => opt.MapFrom(m => m.PId ?? 0))
.ForMember(dest => dest.component, opt => opt.MapFrom(m => m.Component))
.ForMember(dest => dest.name, opt => opt.MapFrom(m => m.Name))
.ForMember(dest => dest.meta, opt => opt.MapFrom(m => new RouteMeta()
{
sort = m.Order,
title = m.Title,
ignoreKeepAlive = m.IgnoreKeepAlive,
icon = m.Icon,
img = m.Img,
frameSrc = m.FrameSrc,
transitionName = m.TransitionName,
hideBreadcrumb = m.HideBreadcrumb,
hideChildrenInMenu = m.HideChildrenInMenu,
hideMenu = m.HideMenu,
hideTab = m.HideTab,
carryParam = m.CarryingParameters,
single = m.Single
}))
.ReverseMap();
CreateMap<Role, RoleDto>()
.ForMember(dest => dest.trans, opt => opt.MapFrom(m => m.Name))
.ForMember(dest => dest.remark, opt => opt.MapFrom(m => m.Description))
.ForMember(dest => dest.sort, opt => opt.MapFrom(m => m.Order))
.ForMember(dest => dest.createdAt, opt => opt.MapFrom(m => m.Createtime))
.ReverseMap();
CreateMap<UpdateRoleInput, Role>()
.ForMember(dest => dest.Description, opt => opt.MapFrom(m => m.remark))
.ForMember(dest => dest.Order, opt => opt.MapFrom(m => m.sort))
.ForMember(dest => dest.Name, opt => opt.MapFrom(m => m.trans))
.ForMember(dest => dest.Createtime, opt => opt.MapFrom(m => DateTime.Now))
.ReverseMap();
CreateMap<Organization, DepartmentInfoDto>()
.ForMember(dest => dest.parentId, opt => opt.MapFrom(m => m.Pid))
.ForMember(dest => dest.trans, opt => opt.MapFrom(m => m.Name))
.ForMember(dest => dest.name, opt => opt.MapFrom(m => m.Code))
.ForMember(dest => dest.sort, opt => opt.MapFrom(m => m.Order))
.ForMember(dest => dest.remark, opt => opt.MapFrom(m => m.Description))
.ReverseMap();
CreateMap<User, UserInfoListItemDto>()
.ForMember(dest => dest.status,opt => opt.MapFrom(m => m.IsEnable))
.ForMember(dest => dest.mobile,opt => opt.MapFrom(m => m.Telephone))
.ForMember(dest => dest.username, opt => opt.MapFrom(m => m.Account))
.ForMember(dest => dest.email,opt => opt.MapFrom(m => m.Email))
.ForMember(dest => dest.roleIds,opt => opt.MapFrom(m => m.Roles.Select(e => e.Code).ToArray()))
.ForMember(dest => dest.positionIds,opt => opt.MapFrom(m => m.Positions.Select(e => e.Code).ToArray()))
.ForMember(dest => dest.createdAt,opt => opt.MapFrom(m => m.Createtime))
.ForMember(dest => dest.departmentId,opt => opt.MapFrom(m => m.Organizations.FirstOrDefault() != null ? m.Organizations.FirstOrDefault().Id : 0))
.ReverseMap();
CreateMap<UserInsertInput, User>()
.ForMember(dest => dest.Account,opt => opt.MapFrom(m => m.username))
.ForMember(dest => dest.Telephone,opt => opt.MapFrom(m => m.mobile))
.ForMember(dest => dest.IsEnable,opt => opt.MapFrom(m => m.status))
.ReverseMap();
}
}
}