Define the child mapping for collection properties on the contact
CreateMap < ApSupplier , ApSupplierDto > ( ) ;
CreateMap < PoSupplier , PoSupplierDto > ( ) ;
CreateMap < Customer , CustomerDto > ( ) ;
CreateMap < Salesperson , SalespersonDto > ( ) ;
Map from UniVerse mv.NET Entity to DTO
CreateMap < Contact , ContactDto > ( )
. ForMember ( dest => dest . RoleId , opt => opt . MapFrom ( src => src . RoleData . Id ) )
. ForMember ( dest => dest . RoleDescription , opt => opt . MapFrom ( src => src . RoleData . Label ) )
. ForMember ( dest => dest . AssociatedCustomers , opt => opt . MapFrom ( src => src . AssociatedCustomersData ) )
. ForMember ( dest => dest . AssociatedSalespeople , opt => opt . MapFrom ( src => src . AssociatedSalespeopleData ) )
. ForMember ( dest => dest . AssociatedApSuppliers , opt => opt . MapFrom ( src => src . AssociatedApSuppliersData ) )
. ForMember ( dest => dest . AssociatedPoSuppliers , opt => opt . MapFrom ( src => src . AssociatedPoSuppliersData ) ) ;
// Map from DTO UniVerse mv.NET Entity
// Tell AutoMapper to ignore the special MV fields and wire up a custom map
CreateMap < ContactToBeValidatedDto , Contact > ( )
. ForMember ( dest => dest . Role , opt => opt . MapFrom ( src => src . RoleId ) ) ;
.ForMember(dest => dest.Email, opt => opt.Condition(src => (src.Email != null)));
.ForAllOtherMembers(opt => opt.Condition((src, dest, srcMember) => srcMember != null));
//.ForMember(dest => dest.ApSupplierNumbers, opt => opt.Ignore())
//.ForMember(dest => dest.CustomerNumbers, opt => opt.Ignore())
//.ForMember(dest => dest.VendorNumbers, opt => opt.Ignore())
//.ForMember(dest => dest.SalesmanNumbers, opt => opt.Ignore())
//.AfterMap((src, dest) =>
//{
// dest.ApSupplierNumbers.SetFromString(string.Join(_vm, src.ApSupplierNumbers));
// dest.CustomerNumbers.SetFromString(string.Join(_vm, src.CustomerNumbers));
// dest.VendorNumbers.SetFromString(string.Join(_vm, src.VendorNumbers));
// dest.SalesmanNumbers.SetFromString(string.Join(_vm, src.SalesmanNumbers));
//});