/// <summary> /// Returns true if Product instances are equal /// </summary> /// <param name="other">Instance of Product to be compared</param> /// <returns>Boolean</returns> public bool Equals(Product other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( Ean == other.Ean || Ean != null && Ean.Equals(other.Ean) ) && ( Type == other.Type || Type != null && Type.Equals(other.Type) ) && ( Status == other.Status || Status != null && Status.Equals(other.Status) ) && ( Name == other.Name || Name != null && Name.Equals(other.Name) ) && ( Streams == other.Streams || Streams != null && Streams.SequenceEqual(other.Streams) ) && ( LevelSubjects == other.LevelSubjects || LevelSubjects != null && LevelSubjects.SequenceEqual(other.LevelSubjects) ) && ( Models == other.Models || Models != null && Models.SequenceEqual(other.Models) ) && ( TrialAccessUrl == other.TrialAccessUrl || TrialAccessUrl != null && TrialAccessUrl.Equals(other.TrialAccessUrl) ) && ( DefaultAccessUrl == other.DefaultAccessUrl || DefaultAccessUrl != null && DefaultAccessUrl.Equals(other.DefaultAccessUrl) ) && ( ShortDescription == other.ShortDescription || ShortDescription != null && ShortDescription.Equals(other.ShortDescription) ) && ( LongDescription == other.LongDescription || LongDescription != null && LongDescription.Equals(other.LongDescription) ) && ( Media == other.Media || Media != null && Media.Equals(other.Media) ) && ( RelatedProducts == other.RelatedProducts || RelatedProducts != null && RelatedProducts.SequenceEqual(other.RelatedProducts) ) && ( BundledProducts == other.BundledProducts || BundledProducts != null && BundledProducts.SequenceEqual(other.BundledProducts) )); }