Ich versuche, zwei Listen zu kombinieren, damit es keine Duplikate in der Liste gibt. Das erste, was ich mache, ist, alle Benutzer zu finden, die sie genehmigen können.Hinzufügen eines einzelnen Listeneintrags zu einer anderen Liste
var allUsers = _dbContext.UserRoleClientEmployeeAssignments.Where(urcea => urcea.CompanyID == employee.CompanyID && urcea.ClientID == employee.ClientID && urcea.Users.Enabled).ToList();
var allApproveUsers = allUsers.Where(urcea => urcea.ApproveAllPTO).ToList();
Dann bekomme ich meine ganze Abteilung Benutzer, die
var deptSecurityUsers = _dbContext.UserDeptDivSecurities.Where(udds => udds.CompanyID == employee.CompanyID && udds.ClientID == employee.ClientID && udds.Department == dept && udds.ApprovePTO).ToList();
var deptApproveUsers = allUsers.Where(au => deptSecurityUsers.Any(ds => ds.UserID == au.UserID)).ToList();
Danach genehmigen kann ich durch die Liste gehen und wenn es nicht in allApproveUsers
existiert Ich versuche es hinzuzufügen.
object concatUsers = null;
// check for existing user
foreach (var deptUser in deptApproveUsers)
{
var exists = allApproveUsers.FirstOrDefault(e => e.UserID == deptUser.UserID);
if (exists == null)
{
concatUsers = allApproveUsers.Concat(new[] {deptUser}).ToList();
}
}
return (List<UserRoleClientEmployeeAssignment>) concatUsers;
Ich habe 9 Artikel in allApproveUsers
und nachdem ich die 35 durchlaufen oder so deptApproveUsers
Ich habe nur 10 Elemente in der Liste unabhängig 15 Artikel zu haben, die hinzugefügt werden sollen. Wo gehe ich falsch?