FirmTracker-Server/nHibernate/Reports/ReportExpense.cs

37 lines
1.0 KiB
C#

using FirmTracker_Server.nHibernate.Expenses;
namespace FirmTracker_Server.nHibernate.Reports
{
public class ReportExpense
{
//public virtual int Id { get; set; }
public virtual Report Report { get; set; }
public virtual Expense Expense { get; set; }
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
var other = (ReportExpense)obj;
return Report != null && Expense != null &&
Report.Id == other.Report.Id &&
Expense.Id == other.Expense.Id;
}
public override int GetHashCode()
{
unchecked // Overflow is fine, just wrap
{
int hash = 17;
hash = hash * 23 + (Report?.Id.GetHashCode() ?? 0);
hash = hash * 23 + (Expense?.Id.GetHashCode() ?? 0);
return hash;
}
}
}
}