2011-12-13 51 views
0

我現在有代碼在我的服務層中是否有重複的標題:我可以將重複檢查移動到MVC中的存儲庫嗎?

protected bool ValidateAccount(Account account) 
    { 
     var accounts = _accountRepository.GetPk(account.PartitionKey); 
     if (accounts.Any(b => b.Title.Equals(account.Title) && 
           !b.RowKey.Equals(account.RowKey))) 
      _validationDictionary.AddError("", "Duplicate title"); 
     return _validationDictionary.IsValid; 
    } 

有人可以解釋,如果我可以將此代碼移動到我的倉庫。目前,我有一個看起來像這樣:

public class Account 
{ 
    public string PartitionKey { get; set; } 
    [Required(ErrorMessage="Title required")] 
    [DisplayName("Title")] 
    public string Title { get; set; } 
} 

回答

0

如果你的意思是視圖模型,而不是存儲庫(因爲你包括你的帳戶視圖模型的代碼),是的,它是從服務層移動代碼,因爲選項驗證只涉及帳戶。但是,這意味着一些業務邏輯將處於視圖模型中,而其他業務邏輯將處於服務層中。

通常,我更願意將所有業務邏輯放在服務層中。我會離開代碼。另一方面,如果你確實意味着存儲庫,那麼不會出於同樣的原因(混合服務層和數據訪問層中的業務邏輯),這不會很好。

相關問題