public void Validate()
{
var lines = this.Lines ?? new OrderLine[] {};
foreach(var l in lines)
l.Validate();
var linesSum = lines.Sum(l => l.LinePrice);
if (linesSum * (100m - this.Discount) / 100m != this.TotalPrice)
throw new ValidationException();
}