/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; // Suitable nullity checks etc, of course :) hashCode = hashCode * 59 + Id.GetHashCode(); if (When != null) { hashCode = hashCode * 59 + When.GetHashCode(); } if (Actual != null) { hashCode = hashCode * 59 + Actual.GetHashCode(); } hashCode = hashCode * 59 + WorkTime.GetHashCode(); hashCode = hashCode * 59 + ContractedTime.GetHashCode(); hashCode = hashCode * 59 + PayState.GetHashCode(); if (EmployeeType != null) { hashCode = hashCode * 59 + EmployeeType.GetHashCode(); } if (Person != null) { hashCode = hashCode * 59 + Person.GetHashCode(); } if (Assignment != null) { hashCode = hashCode * 59 + Assignment.GetHashCode(); } if (Post != null) { hashCode = hashCode * 59 + Post.GetHashCode(); } if (Posting != null) { hashCode = hashCode * 59 + Posting.GetHashCode(); } if (Cancellation != null) { hashCode = hashCode * 59 + Cancellation.GetHashCode(); } hashCode = hashCode * 59 + InCharge.GetHashCode(); if (Shift != null) { hashCode = hashCode * 59 + Shift.GetHashCode(); } if (Duty != null) { hashCode = hashCode * 59 + Duty.GetHashCode(); } if (Fulfillment != null) { hashCode = hashCode * 59 + Fulfillment.GetHashCode(); } if (CostCentre != null) { hashCode = hashCode * 59 + CostCentre.GetHashCode(); } if (OwningUnit != null) { hashCode = hashCode * 59 + OwningUnit.GetHashCode(); } if (ResourcingUnit != null) { hashCode = hashCode * 59 + ResourcingUnit.GetHashCode(); } if (Requirement != null) { hashCode = hashCode * 59 + Requirement.GetHashCode(); } if (Location != null) { hashCode = hashCode * 59 + Location.GetHashCode(); } if (AdditionalDutyReason != null) { hashCode = hashCode * 59 + AdditionalDutyReason.GetHashCode(); } hashCode = hashCode * 59 + DutyHasWarnings.GetHashCode(); return(hashCode); } }