public static bool Equals(ShoppingCartItem?left, ShoppingCartItem?right) { bool result = ArticleId.Equals(left?.ArticleId, right?.ArticleId); result &= (result ? EqualityComparer <int?> .Default.Equals(left?.OrderedQuantity, right?.OrderedQuantity) : false); result &= (result ? EqualityComparer <int?> .Default.Equals(left?.DispensedQuantity, right?.DispensedQuantity) : false); result &= (result ? EqualityComparer <int?> .Default.Equals(left?.PaidQuantity, right?.PaidQuantity) : false); result &= (result ? EqualityComparer <decimal?> .Default.Equals(left?.Price, right?.Price) : false); result &= (result ? Iso4217Code.Equals(left?.Currency, right?.Currency) : false); return(result); }
public ShoppingCartItem(ArticleId articleId, int orderedQuantity, int dispensedQuantity, int paidQuantity, decimal price, Iso4217Code currency) { orderedQuantity.ThrowIfNegative(); dispensedQuantity.ThrowIfNegative(); paidQuantity.ThrowIfNegative(); price.ThrowIfNotPositive(); this.ArticleId = articleId; this.OrderedQuantity = orderedQuantity; this.DispensedQuantity = dispensedQuantity; this.PaidQuantity = paidQuantity; this.Price = price; this.Currency = currency; }