public IEnumerable <string> GetPeopleByOutputModel() { PersonDTO buff = new PersonDTO(); List <PersonDTO> people = new List <PersonDTO>(); List <string> output = new List <string>(); using (SqlConnection conn = new SqlConnection(AppConstanst.AppConstants.CONNECTION_STRING)) { var command = conn.CreateCommand(); command.CommandText = "SELECT * FROM DictionaryDB.dbo.People;"; conn.Open(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { people.Add(new PersonDTO { Id = Int32.Parse((string)reader.GetValue(reader.GetOrdinal("PersonId")).ToString()), Name = reader.GetValue(reader.GetOrdinal("Name")).ToString(), MiddleName = reader.GetValue(reader.GetOrdinal("Middlename")).ToString(), Surname = reader.GetValue(reader.GetOrdinal("Surname")).ToString(), PhoneNumbers = GetPhoneNumbersById(((string)reader.GetValue(reader.GetOrdinal("PersonId")).ToString())), Addresses = GetAddressesById(((string)reader.GetValue(reader.GetOrdinal("PersonId")).ToString())) });; } } } string toAdd = ""; List <PersonOutputModel> outputModels = new List <PersonOutputModel>(); foreach (PersonDTO p in people) { outputModels.Add(PersonMapper.SelectPersonOutputModelFromPersonDTO(p)); } foreach (PersonOutputModel p in outputModels) { toAdd = "Name: " + p.Name + Environment.NewLine; foreach (AddressOutputModel officeAddress in p.OfficeAdresses) { toAdd += "Office Address : " + officeAddress.Address + Environment.NewLine; } foreach (PhoneNumberOutputModel officePhones in p.OfficePhoneNumbers) { toAdd += officePhones.PhoneNumber + Environment.NewLine; } foreach (AddressOutputModel homeAddresses in p.HomeAddresses) { toAdd += "Home Address : " + homeAddresses.Address + Environment.NewLine; } foreach (PhoneNumberOutputModel homePhoneNumbers in p.HomePhoneNumbers) { toAdd += homePhoneNumbers.PhoneNumber + Environment.NewLine; } output.Add(toAdd); } return(output); }