Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DapListComparer : IEqualityComparer<DeviceAccessPoint>
- {
- public bool Equals(DeviceAccessPoint x, DeviceAccessPoint y)
- {
- if (x == null || y == null) return false;
- if (x.OrderNumber != y.OrderNumber)
- return false;
- //UseableModuleId null checks
- {
- if (x.UseableModuleIds == null && y.UseableModuleIds == null)
- {
- }
- else
- {
- if (x.UseableModuleIds == null || y.UseableModuleIds == null)
- return false;
- if (x.UseableModuleIds.Except(y.UseableModuleIds).Any())
- return false;
- }
- }
- //UseableSubModuleId null checks
- {
- if (x.UseableSubmoduleIds == null && y.UseableSubmoduleIds == null)
- {
- }
- else
- {
- if (x.UseableSubmoduleIds == null || y.UseableSubmoduleIds == null)
- return false;
- if (x.UseableSubmoduleIds.Except(y.UseableSubmoduleIds).Any())
- return false;
- }
- }
- if (x.DapId != y.DapId)
- return false;
- if (x.ModuleIdentNumber != y.ModuleIdentNumber)
- return false;
- if (x.SoftwareRelease != y.SoftwareRelease)
- return false;
- return true;
- }
- public int GetHashCode(DeviceAccessPoint obj)
- {
- if (obj == null)
- {
- throw new ArgumentNullException("obj");
- }
- unchecked
- {
- int hashCode = (obj.DapId + obj.ModuleIdentNumber + obj.OrderNumber).GetHashCode();
- hashCode = (hashCode * 397) ^ obj.OrderNumber.GetHashCode();
- return hashCode;
- }
- }
- }
- var dapListExceptance = appProcesses[0].DapList.Except(appProcesses[1].DapList, new DapListComparer());
Add Comment
Please, Sign In to add comment