using System.Collections.Generic;
public static void Main()
CustomerProvider provider = new CustomerProvider();
var customers = provider.GetCustomers();
var customersToCheck = MapToSimpleCustomer(customers).ToArray();
var containsDuplicate = false;
for(int idx=0; idx<customersToCheck.Count(); idx++)
for(int idx1=0; idx1<customersToCheck.Count(); idx1++)
if (customersToCheck[idx].FirstName == customersToCheck[idx1].FirstName && customersToCheck[idx].LastName == customersToCheck[idx1].LastName)
containsDuplicate = true;
Console.WriteLine("A duplicate name was found in the customer list.");
var customersToList = provider.GetCustomers();
var customersToPrint = MapToSimpleCustomer(customers);
customersToPrint.ForEach(customer =>
Console.WriteLine($"Customer: {customer.FirstName} {customer.LastName}");
private static List<SimpleCustomer> MapToSimpleCustomer(List<CustomerDTO> customers)
return customers.Select(customer => new SimpleCustomer(customer.FirstName, customer.LastName)).ToList();
public class SimpleCustomer
public SimpleCustomer(string firstName, string lastName)
public string FirstName {get; set;}
public string LastName {get; set;}
public class CustomerProvider
CustomerRepository customerRepo = new CustomerRepository();
public List<CustomerDTO> GetCustomers()
var customers = customerRepo.GetCustomers();
return MapCustomers(customers);
private List<CustomerDTO> MapCustomers(List<Customer> customers)
var customersToMap = customers.ToArray();
return customers.Select(customer =>
var custDto = new CustomerDTO(customer.FirstName, customer.LastName);
custDto.IsCurrent = customer.IsCurrent;
custDto.Description = customer.Description;
public class CustomerRepository
public List<Customer> GetCustomers()
var memberList = new List<Customer>()
new Customer("Annie", "Lennox"),
new Customer("Tina", "Turner"),
new Customer("Ann", "Wilson"),
new Customer("Dolly", "Parton"),
new Customer("Bishop", "Briggs"),
new Customer("Tracy", "Chapman"),
new Customer("Ann", "wilson")
public CustomerDTO(string firstName, string lastName)
public string FirstName {get; set;}
public string LastName {get; set;}
public string IsCurrent {get; set;}
public string Description {get; set;}
public Customer(string firstName, string lastName)
public string FirstName {get; set;}
public string LastName {get; set;}
public string IsCurrent {get; set;}
public string Description {get; set;}