aboutsummaryrefslogtreecommitdiff
path: root/src/PriceListTools/Position.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/PriceListTools/Position.cs')
-rw-r--r--src/PriceListTools/Position.cs30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/PriceListTools/Position.cs b/src/PriceListTools/Position.cs
index 0863642..34b7b93 100644
--- a/src/PriceListTools/Position.cs
+++ b/src/PriceListTools/Position.cs
@@ -1,6 +1,8 @@
-namespace RehauSku.PriceListTools
+using System.Linq;
+
+namespace RehauSku.PriceListTools
{
- public class Position
+ public class Position
{
public string Group { get; private set; }
public string Sku { get; private set; }
@@ -12,5 +14,29 @@
Sku = sku;
Name = name;
}
+
+ public override bool Equals(object obj)
+ {
+ if (obj as Position == null)
+ return false;
+
+ Position other = obj as Position;
+
+ return Group == other.Group &&
+ Sku == other.Sku &&
+ Name == other.Name;
+ }
+
+ public override int GetHashCode()
+ {
+ string[] properties = new[]
+ {
+ Group,
+ Sku,
+ Name
+ };
+
+ return properties.Where(p => p != null).Sum(p => p.GetHashCode());
+ }
}
} \ No newline at end of file