using System.Runtime.Serialization; using BS.Shared.DataContracts.Compact; namespace BS.Shared.DataContracts { [DataContract] public class SupportConceptApprovalPeriodEmployeeRelDC : IDataContract { [DataMember] public CompactEmployeeDC Employee { get; set; } [DataMember] public decimal Betreuungsschluessel { get; set; } [DataMember] public bool IsAbsolut { get; set; } [DataMember] public long? SupportConceptApprovalPeriod2EmployeeVersion { get; set; } [DataMember] public long? SupportConceptApprovalPeriod2EmployeeOid { get; set; } public override bool Equals(object obj) { if(obj is SupportConceptApprovalPeriodEmployeeRelDC x) { var a = Employee?.Equals(x.Employee) ?? false; var b = Betreuungsschluessel == x.Betreuungsschluessel; var c = IsAbsolut == x.IsAbsolut; var d = SupportConceptApprovalPeriod2EmployeeVersion?.Equals(x.SupportConceptApprovalPeriod2EmployeeVersion) ?? false; var e = SupportConceptApprovalPeriod2EmployeeOid?.Equals(x.SupportConceptApprovalPeriod2EmployeeOid) ?? false; return a && b && c && d && e; } return false; } public override int GetHashCode() { unchecked { const int hashingBase = (int) 2166136261; const int hashingMultiplier = 16777619; var hash = hashingBase; hash = (hash * hashingMultiplier) ^ (SupportConceptApprovalPeriod2EmployeeOid?.GetHashCode() ?? 0); hash = (hash * hashingMultiplier) ^ (SupportConceptApprovalPeriod2EmployeeVersion?.GetHashCode() ?? 0); return hash; } } } }