Gremlin/Gremlin_BlazorServer/Data/DBClasses/ProductEqualityComparer.cs

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();
}
}
}