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() .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() .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() .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() .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() .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() .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() .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() .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(); } } }