diff options
Diffstat (limited to 'src/PriceListTools/Position.cs')
-rw-r--r-- | src/PriceListTools/Position.cs | 30 |
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 |