ProdEqualityComparer.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Fuel01
  8. {
  9. class ProdEqualityComparer : IEqualityComparer<IdProd>
  10. {
  11. public bool Equals(IdProd b1, IdProd b2)
  12. {
  13. if (b2 == null && b1 == null)
  14. return true;
  15. else if (b1 == null || b2 == null)
  16. return false;
  17. else if (b1.code_pro == b2.code_pro &&
  18. b1.lib_pro== b2.lib_pro &&
  19. b1.ttc_pro == b2.ttc_pro &&
  20. b1.tva_pro == b2.tva_pro &&
  21. b1.type_pro == b2.type_pro )
  22. return true;
  23. else
  24. return false;
  25. }
  26. public int GetHashCode(IdProd bx)
  27. {
  28. int hCode = 0;
  29. hCode += bx.code_pro.GetHashCode();
  30. hCode += bx.lib_pro.GetHashCode();
  31. hCode += bx.type_pro.GetHashCode();
  32. hCode += (int)(bx.ttc_pro * 100);
  33. hCode += (int)(bx.tva_pro * 100);
  34. Console.WriteLine(string.Format(" Hash:{0} Prod:{1} Prix:{2} Tva:{3} Hash2:{4} ", bx.GetHashCode(), bx.code_pro, bx.ttc_pro, bx.tva_pro, hCode.GetHashCode()));
  35. return hCode.GetHashCode();
  36. }
  37. }
  38. }