Требуется предложение AutoMapper

У меня ниже классы

class Contact  
{  
  string FirstName;  
  string LastName;  
  List<Phone> ContactNumbers;  
}

class Phone  
{  
  string Number;  
  PhoneType Type;  
}  

enum PhoneType  
{  
  Home, Work, Fax
}  

class Source
{
  Contact Agent;
  Contact Customer;
}

class Destination  
{  
  string AgentFirstName;  
  string AgentLastName;  
  string AgentPhoneNumber1;  
  string AgentPhoneNumber2;  
  string AgentPhoneNumber3;  
  PhoneType AgentPhoneType1;  
  PhoneType AgentPhoneType2;  
  PhoneType AgentPhoneType3; 

  string CustomerFirstName;  
  string CustomerLastName;  
  string CustomerPhoneNumber1;  
  string CustomerPhoneNumber2;  
  string CustomerPhoneNumber3;  
  PhoneType CustomerPhoneType1;  
  PhoneType CustomerPhoneType2;  
  PhoneType CustomerPhoneType3;  

}

Я хочу сделать авто-карту из источника в класс назначения. Задача, которую я вижу, - преобразовать список контактных номеров в независимые поля в классе назначения. Может кто-нибудь, пожалуйста, предложить пути? Заранее спасибо.

1 ответ

Решение

Вероятно, проще всего сделать пользовательскую функцию отображения, которая делает вещи простыми и удобочитаемыми:

CreateMap<Contact, Destination>().ConvertUsing(c => MapContactToDestination(c));

Destination MapContactToDestination(Contact c)
{
    //logic here for handling conversion
}
Другие вопросы по тегам