public virtual void Validate(Validations validationType = Validations.Weak)
{
InputValidators.ValidateValuedString(Title, "Title");
InputValidators.ValidateZeroOrPositiveValue(Price.Value, "Price");
InputValidators.ValidatePositiveValue(QuantityPurchased.Value, "Quantity Purchased");
// optional fields validations
if (ProductId != null)
{
InputValidators.ValidateValuedString(ProductId, "Product Id");
}
if (Seller != null)
{
Seller.Validate(validationType);
}
}