Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. from people in xDoc.Descendants("People")
  2. where (int?) Convert.ToInt16(people.Element("active").Value) == 1 &&
  3. (int?)Convert.ToInt16(people.Element("id").Value) != 130 && // <-- to optimize
  4. (int?)Convert.ToInt16(people.Element("id").Value) != 252 && // <-- to optimize
  5. (int?)Convert.ToInt16(people.Element("id").Value) != 264 && // <-- to optimize
  6. (int?)Convert.ToInt16(people.Element("id").Value) != 302 && // <-- to optimize
  7. people.Descendants("roleIds").Descendants("int")
  8. .Select(p => (int?)Convert.ToInt16(p.Value)).FirstOrDefault() == 3 // <-- to optimize
  9. select new PeopleClass
  10. {
  11. ResAnId = (int) Convert.ToInt16(people.Element("id").Value),
  12. DpInit = (string)people.Element("clientCode").Value,
  13. ResAnFName = (string)people.Element("firstName").Value,
  14. ResAnLName = (string)people.Element("lastName").Value,
  15. ResAnName = String.Format("{0} {1}", (string)people.Element("firstName").Value,
  16. (string)people.Element("lastName").Value),
  17. RoleId = people.Descendants("roleIds").Descendants("int")
  18. .Select(p => (int?) Convert.ToInt16(p.Value)).FirstOrDefault(), // <-- to optimize
  19. DivisionId = (int?) Convert.ToInt16(people.Element("divisionId").Value)
  20. }).ToList();
  21.  
  22. var analystRoleId = 3;
  23. var testAnalystIds = new[] { 130, 252, 264, 302 };
  24.  
  25. var activeAnalysts =
  26. from p in xdoc.Descendants("People")
  27. let id = (int)p.Element("id")
  28. let isActive = (int)p.Element("active") == 1
  29. let isAnalyst = p.Descendants("roleIds").Elements().Any(e => (int)e == analystRoleId)
  30. let firstName = (string)p.Element("firstName")
  31. let lastName = (string)p.Element("lastName")
  32. where isActive && isAnalyst && !testAnalystIds.Contains(id)
  33. select new PeopleClass {
  34. ResAnId = id,
  35. DpInit = (string)p.Element("clientCode"),
  36. ResAnFName = firstName,
  37. ResAnLName = lastName,
  38. ResAnName = $"{firstName} {lastName}",
  39. RoleId = analystRoleId,
  40. DivisionId = (int?)p.Element("divisionId")
  41. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement