using AutoMapper; namespace GreenHome.Application; // Mapping profile public sealed class MappingProfile : Profile { public MappingProfile() { CreateMap() .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name)) .ForMember(dest => dest.UserFamily, opt => opt.MapFrom(src => src.User.Family)) .ForMember(dest => dest.UserMobile, opt => opt.MapFrom(src => src.User.Mobile)) .ReverseMap() .ForMember(dest => dest.User, opt => opt.Ignore()); CreateMap().ReverseMap(); CreateMap() .ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName)) .ReverseMap() .ForMember(dest => dest.Device, opt => opt.Ignore()); CreateMap() .ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName)) .ReverseMap() .ForMember(dest => dest.Device, opt => opt.Ignore()); CreateMap().ReverseMap() .ForMember(dest => dest.AlertCondition, opt => opt.Ignore()); CreateMap(); CreateMap().ReverseMap(); CreateMap() .ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName)) .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name)) .ForMember(dest => dest.UserMobile, opt => opt.MapFrom(src => src.User.Mobile)) .ReverseMap() .ForMember(dest => dest.Device, opt => opt.Ignore()) .ForMember(dest => dest.User, opt => opt.Ignore()) .ForMember(dest => dest.AlertCondition, opt => opt.Ignore()); CreateMap() .ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName)) .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name)) .ForMember(dest => dest.UserFamily, opt => opt.MapFrom(src => src.User.Family)); CreateMap(); CreateMap() .ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName)) .ForMember(dest => dest.CreatedByUserName, opt => opt.MapFrom(src => src.CreatedByUser.Name + " " + src.CreatedByUser.Family)); CreateMap(); CreateMap() .ForMember(dest => dest.ChecklistTitle, opt => opt.MapFrom(src => src.Checklist.Title)) .ForMember(dest => dest.CompletedByUserName, opt => opt.MapFrom(src => src.CompletedByUser.Name + " " + src.CompletedByUser.Family)); CreateMap() .ForMember(dest => dest.ItemTitle, opt => opt.MapFrom(src => src.ChecklistItem.Title)); CreateMap() .ForMember(dest => dest.AuthorName, opt => opt.MapFrom(src => src.AuthorUser.Name)) .ForMember(dest => dest.AuthorFamily, opt => opt.MapFrom(src => src.AuthorUser.Family)); CreateMap(); } }