3
我正在使用存储库模式编写MVC应用程序。模型中的MVC验证需要数据库存储库
这是一个金融系统,其中有发票。我在发票模型中进行了验证:
#region IValidatableObject Members
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if ((TotalExcludingTax + (TotalExcludingTax * .15m)) != TotalIncludingTax) {
yield return new ValidationResult("The total (exc. Tax) + Tax does not equal the total (inc. Tax).");
}
}
#endregion
问题是税率.15是可变的。目前它在这里被硬编码,并不是很好。我能想到这样做的唯一方法是:
#region IValidatableObject Members
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var taxRepository = new Repository<tax>();
if ((TotalExcludingGst + (TotalExcludingGst * taxRepository.GetCurrentTaxRate())) != TotalIncludingGst) {
yield return new ValidationResult("The total (exc. Gst) + Gst does not equal the total (inc. Gst).");
}
}
#endregion
使用这种方法我现在实例发票模型内的taxRepository实例。
这是不好的做法?
有没有更好的方法来做到这一点?
是_postcodeManager假设是_postcodeRepo? – Ryan