Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Nested foreach loop slow
- SearchResultCollection absaUsers = ABSAds.FindAll();
- SearchResultCollection srcUsers = ds.FindAll();
- foreach (SearchResult users in srcUsers)
- {
- string cn = users.Properties["cn"][0].ToString();
- string sn = users.Properties["sn"][0].ToString();
- string userID = users.Properties["uid"][0].ToString();
- string description = users.Properties["PersonnelAreaDesc"][0].ToString();
- string jobCodeID = users.Properties["JobcodeID"][0].ToString();
- string CostCentreID = users.Properties["costCentreID"][0].ToString();
- string CostCentreDescription = users.Properties["CostCentreDescription"][0].ToString();
- string givenName = users.Properties["givenName"][0].ToString();
- string employmentStatus = users.Properties["EmploymentStatus"][0].ToString();
- string EmploymentStatusDescription = users.Properties["EmploymentStatusDescription"][0].ToString();
- foreach (SearchResult absaUser in absaUsers)
- {
- string absaUID = absaUser.Properties["uid"][0].ToString();
- string absaEmploymentStatus = absaUser.Properties["EmploymentStatus"][0].ToString();
- string absaEmploymentStatusDescription = absaUser.Properties["EmploymentStatusDescription"][0].ToString();
- string absaEmployeeNumber = absaUser.Properties["employeeNumber"][0].ToString();
- if (absaUID == cn && absaEmployeeNumber==userID)
- {
- Console.WriteLine("User Record Found:" + cn);
- sw.WriteLine("Modify" + "," + cn + "," + description + "," + userID + "," + givenName + "," + sn + "," + jobCodeID + "," + CostCentreID + "," + CostCentreDescription + "," + sn + "," + cn + "," + employmentStatus + "," + EmploymentStatusDescription);
- sw.Flush();
- break;
- }
- }
- }
- var lookup = absaUsers.Cast<SearchResult>()
- .ToLookup(x => x.Properties["uid"][0].ToString());
- foreach (SearchResult users in srcUsers)
- {
- string cn = users.Properties["cn"][0].ToString();
- foreach (SearchResult matches in lookup[cn])
- {
- ...
- }
- }
- List<SearchResult> allResultGroups=new List<SearchResult>();
- foreach (SearchResult absaUser in absaUsers)
- {
- resultGroups = srcUsers.Where(g => g.cn == absaUser.absaUID && absaUser.absaEmployeeNumber==g.userID ).ToList();
- }
Add Comment
Please, Sign In to add comment