/// <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 :)
         if (CreatedAt != null)
         {
             hashCode = hashCode * 59 + CreatedAt.GetHashCode();
         }
         if (UpdatedAt != null)
         {
             hashCode = hashCode * 59 + UpdatedAt.GetHashCode();
         }
         if (TotalElevationGain != null)
         {
             hashCode = hashCode * 59 + TotalElevationGain.GetHashCode();
         }
         if (Map != null)
         {
             hashCode = hashCode * 59 + Map.GetHashCode();
         }
         if (EffortCount != null)
         {
             hashCode = hashCode * 59 + EffortCount.GetHashCode();
         }
         if (AthleteCount != null)
         {
             hashCode = hashCode * 59 + AthleteCount.GetHashCode();
         }
         if (Hazardous != null)
         {
             hashCode = hashCode * 59 + Hazardous.GetHashCode();
         }
         if (StarCount != null)
         {
             hashCode = hashCode * 59 + StarCount.GetHashCode();
         }
         return(hashCode);
     }
 }
 /// <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 :)
         if (ExternalId != null)
         {
             hashCode = hashCode * 59 + ExternalId.GetHashCode();
         }
         if (UploadId != null)
         {
             hashCode = hashCode * 59 + UploadId.GetHashCode();
         }
         if (Athlete != null)
         {
             hashCode = hashCode * 59 + Athlete.GetHashCode();
         }
         if (Name != null)
         {
             hashCode = hashCode * 59 + Name.GetHashCode();
         }
         if (Distance != null)
         {
             hashCode = hashCode * 59 + Distance.GetHashCode();
         }
         if (MovingTime != null)
         {
             hashCode = hashCode * 59 + MovingTime.GetHashCode();
         }
         if (ElapsedTime != null)
         {
             hashCode = hashCode * 59 + ElapsedTime.GetHashCode();
         }
         if (TotalElevationGain != null)
         {
             hashCode = hashCode * 59 + TotalElevationGain.GetHashCode();
         }
         if (ElevHigh != null)
         {
             hashCode = hashCode * 59 + ElevHigh.GetHashCode();
         }
         if (ElevLow != null)
         {
             hashCode = hashCode * 59 + ElevLow.GetHashCode();
         }
         if (Type != null)
         {
             hashCode = hashCode * 59 + Type.GetHashCode();
         }
         if (StartDate != null)
         {
             hashCode = hashCode * 59 + StartDate.GetHashCode();
         }
         if (StartDateLocal != null)
         {
             hashCode = hashCode * 59 + StartDateLocal.GetHashCode();
         }
         if (Timezone != null)
         {
             hashCode = hashCode * 59 + Timezone.GetHashCode();
         }
         if (StartLatlng != null)
         {
             hashCode = hashCode * 59 + StartLatlng.GetHashCode();
         }
         if (EndLatlng != null)
         {
             hashCode = hashCode * 59 + EndLatlng.GetHashCode();
         }
         if (AchievementCount != null)
         {
             hashCode = hashCode * 59 + AchievementCount.GetHashCode();
         }
         if (KudosCount != null)
         {
             hashCode = hashCode * 59 + KudosCount.GetHashCode();
         }
         if (CommentCount != null)
         {
             hashCode = hashCode * 59 + CommentCount.GetHashCode();
         }
         if (AthleteCount != null)
         {
             hashCode = hashCode * 59 + AthleteCount.GetHashCode();
         }
         if (PhotoCount != null)
         {
             hashCode = hashCode * 59 + PhotoCount.GetHashCode();
         }
         if (TotalPhotoCount != null)
         {
             hashCode = hashCode * 59 + TotalPhotoCount.GetHashCode();
         }
         if (Map != null)
         {
             hashCode = hashCode * 59 + Map.GetHashCode();
         }
         if (Trainer != null)
         {
             hashCode = hashCode * 59 + Trainer.GetHashCode();
         }
         if (Commute != null)
         {
             hashCode = hashCode * 59 + Commute.GetHashCode();
         }
         if (Manual != null)
         {
             hashCode = hashCode * 59 + Manual.GetHashCode();
         }
         if (_Private != null)
         {
             hashCode = hashCode * 59 + _Private.GetHashCode();
         }
         if (Flagged != null)
         {
             hashCode = hashCode * 59 + Flagged.GetHashCode();
         }
         if (WorkoutType != null)
         {
             hashCode = hashCode * 59 + WorkoutType.GetHashCode();
         }
         if (UploadIdStr != null)
         {
             hashCode = hashCode * 59 + UploadIdStr.GetHashCode();
         }
         if (AverageSpeed != null)
         {
             hashCode = hashCode * 59 + AverageSpeed.GetHashCode();
         }
         if (MaxSpeed != null)
         {
             hashCode = hashCode * 59 + MaxSpeed.GetHashCode();
         }
         if (HasKudoed != null)
         {
             hashCode = hashCode * 59 + HasKudoed.GetHashCode();
         }
         if (HideFromHome != null)
         {
             hashCode = hashCode * 59 + HideFromHome.GetHashCode();
         }
         if (GearId != null)
         {
             hashCode = hashCode * 59 + GearId.GetHashCode();
         }
         if (Kilojoules != null)
         {
             hashCode = hashCode * 59 + Kilojoules.GetHashCode();
         }
         if (AverageWatts != null)
         {
             hashCode = hashCode * 59 + AverageWatts.GetHashCode();
         }
         if (DeviceWatts != null)
         {
             hashCode = hashCode * 59 + DeviceWatts.GetHashCode();
         }
         if (MaxWatts != null)
         {
             hashCode = hashCode * 59 + MaxWatts.GetHashCode();
         }
         if (WeightedAverageWatts != null)
         {
             hashCode = hashCode * 59 + WeightedAverageWatts.GetHashCode();
         }
         return(hashCode);
     }
 }