using System.Collections.Generic;
private static List<WorkdayEmployee> _selectionPool = new List<WorkdayEmployee>();
public static void Main()
var specialAssignmentEmployees = GetSpecialAssignmentEmployees();
var workdayEmployees = GetWorkdayEmployees();
AddSpecialAssignmentsToSelectionPool(specialAssignmentEmployees);
foreach (var employee in _selectionPool)
Console.WriteLine($"EmployeeId: {employee.EmployeeId}");
public static void AddSpecialAssignmentsToSelectionPool(List<SpecialAssignment> specialAssignmentEmployees)
_selectionPool.AddRange(specialAssignmentEmployees
.Where(sa => sa.GroupCode == groupCode)
.Where(sa => !_selectionPool.Any(sp => sp.EmployeeId == sa.EmployeeId))
.Select(sa => new WorkdayEmployee
EmployeeId = sa.EmployeeId,
public static List<SpecialAssignment> GetSpecialAssignmentEmployees()
return new List<SpecialAssignment>
new SpecialAssignment { EmployeeId = "001", GroupCode = "O" },
new SpecialAssignment { EmployeeId = "002", GroupCode = "N" },
new SpecialAssignment { EmployeeId = "003", GroupCode = "O" },
public static List<WorkdayEmployee> GetWorkdayEmployees()
return new List<WorkdayEmployee>
new WorkdayEmployee { EmployeeId = "001", JobCode = "890567", DepartmentCode = "001" },
new WorkdayEmployee { EmployeeId = "002", JobCode = "890345", DepartmentCode = "002" },
new WorkdayEmployee { EmployeeId = "003", JobCode = "890678", DepartmentCode = "003" },
public class SpecialAssignment
public string EmployeeId { get; set; }
public string GroupCode { get; set; }
public class WorkdayEmployee
public string EmployeeId { get; set; }
public string JobCode { get; set; }
public string DepartmentCode {get; set;}