27 lines
866 B
C#
27 lines
866 B
C#
using Gremlin_BlazorServer.Data.EntityClasses;
|
|
using System.Text;
|
|
|
|
namespace Gremlin_BlazorServer.Data.DBClasses
|
|
{
|
|
public class ProductEqualityComparer : IEqualityComparer<Product>
|
|
{
|
|
public bool Equals(Product? product1, Product? product2)
|
|
{
|
|
return !((product1 != null || product2 != null)
|
|
&& !(product1 != null && product2 != null
|
|
&& product1.ProductNumber == product2.ProductNumber
|
|
&& product1.OptionNumber == product2.OptionNumber
|
|
&& product1.BreakRangeFrom == product2.BreakRangeFrom
|
|
&& product1.BreakRangeTo == product2.BreakRangeTo));
|
|
}
|
|
|
|
public int GetHashCode(Product? product)
|
|
{
|
|
if (product == null) { return 0; }
|
|
StringBuilder sb = new();
|
|
sb.Append(product.ProductNumber).Append(product.OptionNumber).Append(product.BreakRangeFrom).Append(product.BreakRangeTo);
|
|
return sb.ToString().GetHashCode();
|
|
}
|
|
}
|
|
}
|