/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         int hashCode = 41;
         if (ItemName != null)
         {
             hashCode = hashCode * 59 + ItemName.GetHashCode();
         }
         if (ChannelUID != null)
         {
             hashCode = hashCode * 59 + ChannelUID.GetHashCode();
         }
         if (Configuration != null)
         {
             hashCode = hashCode * 59 + Configuration.GetHashCode();
         }
         return(hashCode);
     }
 }
        /// <summary>
        /// Returns true if ItemChannelLinkDTO instances are equal
        /// </summary>
        /// <param name="input">Instance of ItemChannelLinkDTO to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ItemChannelLinkDTO input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     ItemName == input.ItemName ||
                     (ItemName != null &&
                      ItemName.Equals(input.ItemName))
                     ) &&
                 (
                     ChannelUID == input.ChannelUID ||
                     (ChannelUID != null &&
                      ChannelUID.Equals(input.ChannelUID))
                 ) &&
                 (
                     Configuration == input.Configuration ||
                     Configuration != null &&
                     Configuration.SequenceEqual(input.Configuration)
                 ));
        }