何时使用Ivalidatable对象以及何时使用服务方法来验证我的发布请求

时间:2014-04-01 20:13:27

标签: c# asp.net asp.net-mvc-4

我正在开发一个asp.net mvc web应用程序,我们必须检查输入的IP& Mac地址已存在。目前我正在通过在POST创建&中编写以下服务方法来检查这一点。编辑操作方法如下: -

bool ipunique = repository.ISiPUnique(sj.NetworkInfo.IPADDRESS, sj.Server. ServerID);
bool macunique = repository.ISmACUnique(sj.NetworkInfo.MACADDRESS, sj.Server. ServerID);

if (((sj.IsIPUnique == true) && !ipunique)
            {

ModelState.AddModelError("NetworkInfo.IPAddress", "Error occurred. The Same IP is already assigned.");

            }
if ((sj.IsMACUnique == true) && (!macunique))
            {

ModelState.AddModelError("NetworkInfo.MACAddress", "Error occurred. The Same MAC Address is already assigned.");

            }

其中sj.IsIPUnique是一个复选框,指示是否应该进行uniqness检查,以上调用以下reporsitory方法: -

public bool ISiPUnique(string ip, int? id=0) 
{
var result = tms.TechnologyIPs.Where(a =>  (a.TechnologyID != id.Value || a.TechnologyID == null)  && a.IPAddress.ToUpper() == ip.ToUpper());
return (result.Count() == 0);
}

但是我应该按原样保留我的代码,还是最好在ivalidatable对象中执行此唯一性检查而不是使用服务方法?

0 个答案:

没有答案