using AutoMapper; using IM_API.Dtos; using IM_API.Models; namespace IM_API.Configs { public class MapperConfig:Profile { public MapperConfig() { CreateMap(); //用户信息更新模型转换 CreateMap() .ForMember(dest => dest.Updated,opt => opt.MapFrom(src => DateTime.Now)) .ForAllMembers(opts => opts.Condition((src,dest,srcMember) => srcMember != null)); //用户注册模型转换 CreateMap() .ForMember(dest => dest.Username,opt => opt.MapFrom(src => src.Username)) .ForMember(dest => dest.Password,opt => opt.MapFrom(src => src.Password)) .ForMember(dest => dest.Avatar,opt => opt.MapFrom(src => "https://ts1.tc.mm.bing.net/th/id/OIP-C.dl0WpkTP6E2J4FnhDC_jHwAAAA?rs=1&pid=ImgDetMain&o=7&rm=3")) .ForMember(dest => dest.StatusEnum,opt => opt.MapFrom(src => UserStatus.Normal)) .ForMember(dest => dest.OnlineStatusEnum,opt => opt.MapFrom(src => UserOnlineStatus.Offline)) .ForMember(dest => dest.NickName,opt => opt.MapFrom(src => src.NickName)) .ForMember(dest => dest.Created,opt => opt.MapFrom(src => DateTime.Now)) .ForMember(dest => dest.IsDeleted,opt => opt.MapFrom(src => 0)) ; //好友信息模型转换 CreateMap(); //好友请求通过后新增好友关系 CreateMap() .ForMember(dest => dest.UserId , opt => opt.MapFrom(src => src.RequestUser)) .ForMember(dest => dest.FriendId , opt => opt.MapFrom(src => src.ResponseUser)) .ForMember(dest => dest.StatusEnum , opt =>opt.MapFrom(src => FriendStatus.Added)) .ForMember(dest => dest.RemarkName , opt => opt.MapFrom(src => src.ResponseUserNavigation.NickName)) .ForMember(dest => dest.Created , opt => opt.MapFrom(src => DateTime.Now)) ; //发起好友请求转换请求对象 CreateMap() .ForMember(dest => dest.RequestUser , opt => opt.MapFrom(src => src.FromUserId)) .ForMember(dest => dest.ResponseUser , opt => opt.MapFrom(src => src.ToUserId)) .ForMember(dest => dest.Created , opt => opt.MapFrom(src => DateTime.Now)) .ForMember(dest => dest.StateEnum , opt => opt.MapFrom(src => FriendRequestState.Pending)) .ForMember(dest => dest.Description , opt => opt.MapFrom(src => src.Description)) ; } } }