using System.Collections.Generic;
public static void Main()
var existingManagers = new List<Person>();
existingManagers.Add(new Person { Name = "Ben", Email = "ben@gmail.com", IsActive = true});
existingManagers.Add(new Person { Name = "Jen", Email = "jen@gmail.com", IsActive = true});
existingManagers.Add(new Person { Name = "Ken", Email = "ken@gmail.com", IsActive = true});
existingManagers.Add(new Person { Name = "Sen", Email = "sen@gmail.com", IsActive = true});
existingManagers.Add(new Person { Name = "Sam", Email = "sen@gmail.com", IsActive = true});
var managerEmailsDTOs = new List<Person>();
managerEmailsDTOs.Add(new Person { Name = "Shren", Email = "shren@gmail.com"});
var entriesToUpdate = existingManagers.Where(x => managerEmailsDTOs.Any(m => x.Email == x.Email));
foreach (var entry in entriesToUpdate)
var importedManagerDto = managerEmailsDTOs.FirstOrDefault(x => x.Email == entry.Email);
if (importedManagerDto == null) continue;
entry.Name = importedManagerDto.Name;
foreach(var entry in entriesToUpdate) {
Console.WriteLine("{0}, {1}, {2}", entry.Name, entry.Email, entry.IsActive);
public string Name {get; set;}
public string Email {get; set;}
public bool IsActive {get; set;}
public string Name {get; set;}