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