リストに重複がないように2つのリストを結合しようとしています。私がまずやることは、承認できるすべてのユーザーをつかむことです。リストアイテムを別のリストに追加する
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();
それから私は、私はリストを行くその後
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();
を承認することができ、すべての私の部署のユーザーを取得し、それがallApproveUsers
に存在しない場合、私はそれを追加してみてください。
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;
IはallApproveUsers
9つのアイテムを持っていると私は35またはそうdeptApproveUsers
通過した後に私は関係なく、添加すべき15個の項目を有するリスト10個の項目を有しています。どこが間違っていますか?