using System.Collections.Generic;
public static void Main()
var donor = new Donor{DonorId = "XXXXXXXX"};
donor.PhoneNumberList.Add(new Phone{Type="H", Number="01524444111"});
donor.PhoneNumberList.Add(new Phone{Type="M", Number="07879777777"});
Mapper.CreateMap<Donor, ViewModel>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.DonorId))
.ForMember(dest => dest.PhoneHome, opt => opt.MapFrom(src => src.PhoneNumberList.Where(p => p.Type == "H").Any() ? src.PhoneNumberList.Where(p => p.Type == "H").First().Number : ""))
.ForMember(dest => dest.PhoneMob, opt => opt.MapFrom(src => src.PhoneNumberList.Where(p => p.Type == "M").Any() ? src.PhoneNumberList.Where(p => p.Type == "M").First().Number : ""));
Mapper.AssertConfigurationIsValid();
var vm = Mapper.Map<Donor, ViewModel>(donor);
public string DonorId {get; set;}
public List<Phone> PhoneNumberList {get; set;}
PhoneNumberList = new List<Phone>();
public string Type {get; set;}
public string Number {get; set;}
public string Id { get; set; }
public string PhoneHome {get; set;}
public string PhoneMob {get; set;}