using AsbCloudApp.Data;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
namespace AsbCloudApp.Comparators
{
///
/// Компаратор для сравнения сущностей по ID
///
public class ComparerIId : IComparer, IEqualityComparer
{
private static readonly ComparerIId instance = new();
private ComparerIId() { }
///
/// Singleton ссылка
///
///
public static ComparerIId GetInstance() => instance;
///
///
///
///
///
///
public int Compare(IId? x, IId? y)
{
if (x is null || y is null)
return 0;
else
return x.Id.CompareTo(y.Id);
}
///
///
///
///
///
///
public bool Equals(IId? x, IId? y)
{
if (x is null || y is null)
return false;
else
return x.Id == y.Id;
}
///
///
///
///
///
public int GetHashCode([DisallowNull] IId obj) =>
obj.GetHashCode();
}
}