Esempio n. 1
0
 //Map: Person DBO to a Person DTO
 public PersonDTO Map(Person person, bool recursive = true)
 {
     PersonDTO dto = new PersonDTO();
     dto.Id = person.Id;
     dto.Name = person.Name;
     dto.Age = person.Age;
     if (recursive && person.MoviesActedIn != null) {
         dto.MoviesActedIn = (from m in person.MoviesActedIn
                              select Map(m, false)).ToList();
     }
     if (recursive && person.MoviesDirected != null) {
         dto.MoviesDirected = (from m in person.MoviesDirected
                               select Map(m, false)).ToList();
     }
     if (recursive && person.MoviesProduced != null) {
         dto.MoviesProduced = (from m in person.MoviesProduced
                               select Map(m, false)).ToList();
     }
     return dto;
 }
Esempio n. 2
0
        //Map: Person DTO to Person DBO
        public Person Map(PersonDTO dto)
        {
            Person dbPerson = null;
            if ((dbPerson = _repo.Find<Person>(dto.Id)) == null) {
                dbPerson = new Person();
            }
            dbPerson.Name = dto.Name;
            dbPerson.Age = dto.Age;

            if (dto.MoviesActedIn != null) {
                dbPerson.MoviesActedIn = (from m in _repo.Query<Movie>()
                                          where dto.MoviesActedIn.Any(movie => movie.Id == m.Id)
                                          select m).ToList();
            }
            if (dto.MoviesDirected != null) {
                dbPerson.MoviesDirected = (from m in _repo.Query<Movie>()
                                           where dto.MoviesDirected.Any(movie => movie.Id == m.Id)
                                           select m).ToList();
            }
            if (dto.MoviesProduced != null) {
                dbPerson.MoviesProduced = (from m in _repo.Query<Movie>()
                                           where dto.MoviesProduced.Any(movie => movie.Id == m.Id)
                                           select m).ToList();
            }

            return dbPerson;
        }