private bool Equals(Product other) => Attributes.SequenceEqual(Attributes) && string.Equals(CatalogVisibility, other.CatalogVisibility) && Categories.SequenceEqual(other.Categories) && string.Equals(Description, other.Description) && string.Equals(ExternalUrl, other.ExternalUrl) && Featured == other.Featured && Id == other.Id && Images.SequenceEqual(other.Images) && InStock == other.InStock && ManageStock == other.ManageStock && string.Equals(Name, other.Name) && OnSale == other.OnSale && ParentId == other.ParentId && string.Equals(Permalink, other.Permalink) && string.Equals(Price, other.Price) && string.Equals(PriceHtml, other.PriceHtml) && Purchasable == other.Purchasable && string.Equals(RegularPrice, other.RegularPrice) && RelatedIds.SequenceEqual(other.RelatedIds) && string.Equals(SalePrice, other.SalePrice) && string.Equals(ShortDescription, other.ShortDescription) && string.Equals(Sku, other.Sku) && string.Equals(Slug, other.Slug) && string.Equals(Status, other.Status) && Equals(StockQuantity, other.StockQuantity) && Tags.SequenceEqual(other.Tags) && string.Equals(TaxClass, other.TaxClass) && string.Equals(TaxStatus, other.TaxStatus) && TotalSales == other.TotalSales && string.Equals(Type, other.Type) && Virtual == other.Virtual;
public override int GetHashCode() { unchecked { var hashCode = Attributes != null?Attributes.GetHashCode() : 0; hashCode = (hashCode * 397) ^ (CatalogVisibility != null ? CatalogVisibility.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Categories != null ? Categories.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Description != null ? Description.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ExternalUrl != null ? ExternalUrl.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Featured.GetHashCode(); hashCode = (hashCode * 397) ^ Id; hashCode = (hashCode * 397) ^ (Images != null ? Images.GetHashCode() : 0); hashCode = (hashCode * 397) ^ InStock.GetHashCode(); hashCode = (hashCode * 397) ^ ManageStock.GetHashCode(); hashCode = (hashCode * 397) ^ (Name != null ? Name.GetHashCode() : 0); hashCode = (hashCode * 397) ^ OnSale.GetHashCode(); hashCode = (hashCode * 397) ^ ParentId; hashCode = (hashCode * 397) ^ (Permalink != null ? Permalink.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Price != null ? Price.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (PriceHtml != null ? PriceHtml.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Purchasable.GetHashCode(); hashCode = (hashCode * 397) ^ (RegularPrice != null ? RegularPrice.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (RelatedIds != null ? RelatedIds.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (SalePrice != null ? SalePrice.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ShortDescription != null ? ShortDescription.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Sku != null ? Sku.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Slug != null ? Slug.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Status != null ? Status.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (StockQuantity != null ? StockQuantity.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Tags != null ? Tags.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (TaxClass != null ? TaxClass.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (TaxStatus != null ? TaxStatus.GetHashCode() : 0); hashCode = (hashCode * 397) ^ TotalSales; hashCode = (hashCode * 397) ^ (Type != null ? Type.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Virtual.GetHashCode(); return(hashCode); } }