narsil/Tanshu.Accounts.Contracts/Data Contracts/BillItemKey.cs

55 lines
1.3 KiB
C#
Raw Normal View History

2010-03-02 17:56:21 +00:00
using System;
using System.Runtime.Serialization;
namespace Tanshu.Accounts.Contracts
{
public class BillItemKey
{
public BillItemKey(Guid productID, bool isNew)
{
ProductID = productID;
IsNew = isNew;
}
public Guid ProductID
{
get;
private set;
}
public bool IsNew
{
get;
private set;
}
public override int GetHashCode()
{
return string.Format("{0} - {1}", ProductID, IsNew).GetHashCode();
}
public override bool Equals(object obj)
{
if (obj is BillItemKey)
return (this == (BillItemKey)obj);
else
return false;
}
public override string ToString()
{
return string.Format("{0} - {1}", ProductID, IsNew);
}
public static bool operator ==(BillItemKey a, BillItemKey b)
{
if (!(a is BillItemKey))
return false;
if (!(b is BillItemKey))
return false;
return a.ProductID == b.ProductID && a.IsNew == b.IsNew;
}
public static bool operator !=(BillItemKey a, BillItemKey b)
{
return !(a == b);
}
}
}