Ho una classe di dominio chiamata Campaign.
Class Campaign {
    public long CampaignID { get; set; }
    public string CampaignName { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime EndTime { get; set; }
}
In aggiunta a ciò, sto usando Asp.net MVC e ho definito una classe del modello.
[DataContract]
public class CampaignModel
{
    [DataMember(Name="id")]
    public long Id { get; set; }
    [DataMember(Name = "name")]
    public string CampaignName { get; set; }
    [DataMember(Name = "isDummy")]
    public bool IsDummy { get; set; }
} 
Il mio obiettivo è convertire da una classe all'altra e viceversa.
Sto utilizzando ASP.NET per le chiamate REST dalla mia app Angular 2.
La mia app ha due casi d'uso, uno è quello di creare Campaign, quindi ho bisogno di convertire da CampaignModel in classe Campaign e memorizzare la campagna. Il secondo caso d'uso è caricare la Campagna esistente nell'interfaccia utente, quindi convertire da Campaign a CamapignModel.
- Se è importante, la conversazione tra i due non è banale e comporta l'uso di strutture dati complesse.
Ho pensato a diverse opzioni:
- 
Crea due metodi in CampaignModel. public Campaign Convert(); public CampaignModel Convert(Campaign);
-  Crea una classe separata ad es. CampaignConverter 
- Utilizza una libreria nota dedicata che faciliti la conversione tra i due, o pattern di progettazione noto?
- altre idee?
Grazie