using AutoMapper; using DMS.Core.Models; using DMS.Application.DTOs; namespace DMS.Application.Profiles; /// /// 配置AutoMapper的映射规则。 /// public class MappingProfile : Profile { public MappingProfile() { // Device 映射 CreateMap() .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.VariableTables, opt => opt.Ignore()); CreateMap() .ForMember(dest => dest.Description, opt => opt.Ignore()) .ForMember(dest => dest.VariableTables, opt => opt.Ignore()) .ForMember(dest => dest.CpuType, opt => opt.Ignore()) .ForMember(dest => dest.DeviceType, opt => opt.Ignore()); CreateMap() .ForMember(dest => dest.Protocol, opt => opt.MapFrom(src => src.Protocol.ToString())) .ForMember(dest => dest.Status, opt => opt.Ignore()); // VariableTable 映射 CreateMap().ReverseMap(); // Variable 映射 CreateMap() .ForMember(dest => dest.DataType, opt => opt.MapFrom(src => src.DataType.ToString())) .ForMember(dest => dest.CSharpDataType, opt => opt.MapFrom(src => src.CSharpDataType)) .ForMember(dest => dest.Address, opt => opt.Ignore()); // MqttServer 映射 CreateMap().ReverseMap(); // VariableMqttAlias 映射 CreateMap() .ForMember(dest => dest.MqttServerName, opt => opt.Ignore()) .ReverseMap(); // VariableHistory 映射 CreateMap().ReverseMap(); // MenuBean 映射 CreateMap().ReverseMap(); // User 映射 CreateMap().ReverseMap(); } }