/// <summary>
        /// Returns true if Cost instances are equal
        /// </summary>
        /// <param name="other">Instance of Cost to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(Cost other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Uuid == other.Uuid ||
                     Uuid != null &&
                     Uuid.Equals(other.Uuid)
                     ) &&
                 (
                     Status == other.Status ||
                     Status != null &&
                     Status.Equals(other.Status)
                 ) &&
                 (
                     HourPrice == other.HourPrice ||
                     HourPrice != null &&
                     HourPrice.Equals(other.HourPrice)
                 ) &&
                 (
                     UsePrice == other.UsePrice ||
                     UsePrice != null &&
                     UsePrice.Equals(other.UsePrice)
                 ) &&
                 (
                     Unit == other.Unit ||
                     Unit != null &&
                     Unit.Equals(other.Unit)
                 ) &&
                 (
                     Period == other.Period ||
                     Period != null &&
                     Period.Equals(other.Period)
                 ) &&
                 (
                     Creation == other.Creation ||
                     Creation != null &&
                     Creation.Equals(other.Creation)
                 ) &&
                 (
                     LastUpdated == other.LastUpdated ||
                     LastUpdated != null &&
                     LastUpdated.Equals(other.LastUpdated)
                 ));
        }
 /// <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 (Uuid != null)
         {
             hashCode = hashCode * 59 + Uuid.GetHashCode();
         }
         if (Status != null)
         {
             hashCode = hashCode * 59 + Status.GetHashCode();
         }
         if (HourPrice != null)
         {
             hashCode = hashCode * 59 + HourPrice.GetHashCode();
         }
         if (UsePrice != null)
         {
             hashCode = hashCode * 59 + UsePrice.GetHashCode();
         }
         if (Unit != null)
         {
             hashCode = hashCode * 59 + Unit.GetHashCode();
         }
         if (Period != null)
         {
             hashCode = hashCode * 59 + Period.GetHashCode();
         }
         if (Creation != null)
         {
             hashCode = hashCode * 59 + Creation.GetHashCode();
         }
         if (LastUpdated != null)
         {
             hashCode = hashCode * 59 + LastUpdated.GetHashCode();
         }
         return(hashCode);
     }
 }