33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using Dlhis.ScheduledTask.SyncSapInfo.Dto;
|
|
|
|
namespace Dlhis.ScheduledTask.SyncSapInfo.Comparers;
|
|
|
|
/// <summary>
|
|
/// 岗位信息比较器
|
|
/// </summary>
|
|
public class SapPositionComparer : IEqualityComparer<SapPositionItem>
|
|
{
|
|
public bool Equals(SapPositionItem x, SapPositionItem y)
|
|
{
|
|
if (ReferenceEquals(x, y)) return true;
|
|
if (ReferenceEquals(x, null) || ReferenceEquals(y, null)) return false;
|
|
if (x.GetType() != y.GetType()) return false;
|
|
|
|
return x.BEGDA == y.BEGDA
|
|
&& x.ENDDA == y.ENDDA
|
|
&& x.LANGU == y.LANGU
|
|
&& x.ZJOBID == y.ZJOBID
|
|
&& x.ZJOBNAME == y.ZJOBNAME
|
|
&& x.ZZWID == y.ZZWID
|
|
&& x.ZDEPID == y.ZDEPID;
|
|
}
|
|
|
|
public int GetHashCode(SapPositionItem obj)
|
|
{
|
|
return obj.BEGDA.SafeGetHashCode() ^ obj.ENDDA.SafeGetHashCode()
|
|
^ obj.LANGU.SafeGetHashCode() ^ obj.ZJOBID.SafeGetHashCode()
|
|
^ obj.ZJOBNAME.SafeGetHashCode() ^ obj.ZZWID.SafeGetHashCode()
|
|
^ obj.ZDEPID.SafeGetHashCode();
|
|
}
|
|
}
|