我正在开发一个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对象中执行此唯一性检查而不是使用服务方法?