public AutoMapperProfiles() { CreateMap <User, UserForListDto>().ForMember(destinationMember => destinationMember.PhotoUrl, IMappingOperationOptions => { IMappingOperationOptions.MapFrom(sourceMember => sourceMember.Photos.FirstOrDefault(p => p.IsMain).Url); }).ForMember(Propertytomanuallychange => Propertytomanuallychange.Age, IMappingOperationOptions => { IMappingOperationOptions.ResolveUsing(source => source.DateOfBirth.CalculateAge()); }); CreateMap <User, UserForDetailedDto>().ForMember(destinationMember => destinationMember.PhotoUrl, IMappingOperationOptions => { IMappingOperationOptions.MapFrom(sourceMember => sourceMember.Photos.FirstOrDefault(p => p.IsMain).Url); }).ForMember(Propertytomanuallychange => Propertytomanuallychange.Age, IMappingOperationOptions => { IMappingOperationOptions.ResolveUsing(source => source.DateOfBirth.CalculateAge()); }); CreateMap <Photo, PhotosForDetailedDto>(); CreateMap <UserForUpdateDto, User>(); CreateMap <Photo, PhotoForReturnDto>(); CreateMap <PhotoForCreationDto, Photo>(); CreateMap <UserForRegisterDto, User>(); CreateMap <MessageForCreationDto, Message>().ReverseMap(); CreateMap <Message, MessageToReturnDto>() .ForMember(m => m.SenderPhotoUrl, opt => opt.MapFrom(m => m.Sender.Photos.FirstOrDefault(p => p.IsMain).Url)) .ForMember(m => m.RecipientPhotoUrl, opt => opt.MapFrom(m => m.Recipient.Photos.FirstOrDefault(p => p.IsMain).Url)); }
public AutoMapperProfiles() { CreateMap <User, UserForListDto>() .ForMember(dest => dest.PhotoUrl, opt => { opt.MapFrom(src => src.Photos.FirstOrDefault(p => p.IsMain).Url); }) .ForMember(dest => dest.Age, IMappingOperationOptions => { IMappingOperationOptions.ResolveUsing(d => d.DateOfBirth.CalculateAge()); }); CreateMap <User, UserForDetailedDto>() .ForMember(dest => dest.PhotoUrl, opt => { opt.MapFrom(src => src.Photos.FirstOrDefault(p => p.IsMain).Url); }) .ForMember(dest => dest.Age, IMappingOperationOptions => { IMappingOperationOptions.ResolveUsing(d => d.DateOfBirth.CalculateAge()); }); CreateMap <Photo, PhotosForDetailedDto>(); }