//This represents my rows in my database
public class PersonModel
{
public int Id{get;set;}
public string FirstName{get;set;}
public string LastName{get;set;}
public DateTime CreatedBy{get;set;}
}
//This is what the client receives
public class PersonDto
{
public int Id{get;set;}
public string FirstName { get; set; }
public string LastName { get; set; }
}
//I have this DTO for other Views that
//I only need to show FirstName
public class PersonFirstNameOnlyDto
{
public int Id {get;set;}
public string FirstName{get;set;}
}
public class Person
{
IPerson person;
public Person(IPerson person)
{
this.person=person;
}
public void SavePerson(PersonDto person)
{
this.person.SavePerson(person);
}
}
public interface IPerson
{
void SavePerson(PersonDto person);
}
Quando si salva una persona, ho bisogno di passare in PersonDTO al metodo SavePerson ma come se volessi passare PersonFirstNameOnlyDto ?. Quello che ho in mente è di convertire PersonFirstNameOnlyDto in PersonDto (posso usare AutoMapper qui) o aggiungere un altro metodo alla classe Person che accetta PersonFirstNameOnlyDto. Sto solo pensando se c'è un modo migliore per farlo, magari usando Generics ma davvero non so come posso ottenerlo.
Saluti