protected bool Equals(ScheduleLocationRecord other)
 {
     return(Id == other.Id &&
            EngineeringAllowance.Equals(other.EngineeringAllowance) &&
            string.Equals(Line, other.Line) &&
            LocationActivity == other.LocationActivity &&
            string.Equals(LocationActivityString, other.LocationActivityString) &&
            string.Equals(OrderTime, other.OrderTime) &&
            string.Equals(Pass, other.Pass) &&
            string.Equals(Path, other.Path) &&
            PathingAllowance.Equals(other.PathingAllowance) &&
            PerformanceAllowance.Equals(other.PerformanceAllowance) &&
            string.Equals(Platform, other.Platform) &&
            string.Equals(PublicArrival, other.PublicArrival) &&
            string.Equals(PublicDeparture, other.PublicDeparture) &&
            RecordIdentity == other.RecordIdentity &&
            string.Equals(Tiploc, other.Tiploc) &&
            string.Equals(TiplocSuffix, other.TiplocSuffix) &&
            string.Equals(WorkingArrival, other.WorkingArrival) &&
            string.Equals(WorkingDeparture, other.WorkingDeparture));
 }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = EngineeringAllowance.GetHashCode();
         hashCode = (hashCode * 397) ^ (Line != null ? Line.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (int)LocationActivity;
         hashCode = (hashCode * 397) ^ (LocationActivityString != null ? LocationActivityString.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (OrderTime != null ? OrderTime.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Pass != null ? Pass.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Path != null ? Path.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ PathingAllowance.GetHashCode();
         hashCode = (hashCode * 397) ^ PerformanceAllowance.GetHashCode();
         hashCode = (hashCode * 397) ^ (Platform != null ? Platform.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (PublicArrival != null ? PublicArrival.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (PublicDeparture != null ? PublicDeparture.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (int)RecordIdentity;
         hashCode = (hashCode * 397) ^ (Tiploc != null ? Tiploc.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TiplocSuffix != null ? TiplocSuffix.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (WorkingArrival != null ? WorkingArrival.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (WorkingDeparture != null ? WorkingDeparture.GetHashCode() : 0);
         return(hashCode);
     }
 }