Guest User

Untitled

a guest
Jan 16th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. public class DapListComparer : IEqualityComparer<DeviceAccessPoint>
  2. {
  3. public bool Equals(DeviceAccessPoint x, DeviceAccessPoint y)
  4. {
  5.  
  6. if (x == null || y == null) return false;
  7.  
  8. if (x.OrderNumber != y.OrderNumber)
  9. return false;
  10.  
  11. //UseableModuleId null checks
  12. {
  13. if (x.UseableModuleIds == null && y.UseableModuleIds == null)
  14. {
  15.  
  16. }
  17. else
  18. {
  19. if (x.UseableModuleIds == null || y.UseableModuleIds == null)
  20. return false;
  21. if (x.UseableModuleIds.Except(y.UseableModuleIds).Any())
  22. return false;
  23. }
  24.  
  25. }
  26.  
  27. //UseableSubModuleId null checks
  28. {
  29. if (x.UseableSubmoduleIds == null && y.UseableSubmoduleIds == null)
  30. {
  31.  
  32. }
  33. else
  34. {
  35. if (x.UseableSubmoduleIds == null || y.UseableSubmoduleIds == null)
  36. return false;
  37. if (x.UseableSubmoduleIds.Except(y.UseableSubmoduleIds).Any())
  38. return false;
  39. }
  40. }
  41.  
  42. if (x.DapId != y.DapId)
  43. return false;
  44. if (x.ModuleIdentNumber != y.ModuleIdentNumber)
  45. return false;
  46. if (x.SoftwareRelease != y.SoftwareRelease)
  47. return false;
  48. return true;
  49. }
  50.  
  51. public int GetHashCode(DeviceAccessPoint obj)
  52. {
  53. if (obj == null)
  54. {
  55. throw new ArgumentNullException("obj");
  56. }
  57. unchecked
  58. {
  59. int hashCode = (obj.DapId + obj.ModuleIdentNumber + obj.OrderNumber).GetHashCode();
  60. hashCode = (hashCode * 397) ^ obj.OrderNumber.GetHashCode();
  61. return hashCode;
  62. }
  63. }
  64. }
  65.  
  66. var dapListExceptance = appProcesses[0].DapList.Except(appProcesses[1].DapList, new DapListComparer());
Add Comment
Please, Sign In to add comment