//修改设备的基本信息 public ResponseData UpdateDevice(DeviceViewModel dvm) { ResponseData rd = new ResponseData(); //获取设备信息 DeviceModel dm = _dr.Find(dvm.DeviceSn, dvm.Token); if (dm == null) { rd.Success = false; rd.Message = "不存在此设备,请确认"; return(rd); } #region 验证用户权限 bool bRet = false; int pid = dm.PId; //获取设备所属的项目(一级项目) if (pid == 0) //设备没有添加所属的一级项目,此时需要递归获取一级项目编号 { pid = dm.ProjectId.Value; bRet = new UserService().IsAuthProject(dvm.Account, dvm.Token, pid, 2);//获取用户是否有权限修改设备信息 } else { bRet = new UserService().IsAuthProject(dvm.Account, dvm.Token, pid, 2, 0);//获取用户是否有权限修改设备信息(此时的项目编号为一级项目编号) } if (!bRet) { rd.Success = false; rd.Message = "用户没有权限修改设备信息"; return(rd); } #endregion #region 修改设备信息 dm.DeviceName = dvm.DeviceName; if (dm.DeviceNo != dvm.DeviceNo)//要修改设备编号在系统中是否存在 { int count = _dr.FindByDeviceNo(dvm.DeviceNo, dvm.Token); if (count > 0) { rd.Success = false; rd.Message = "系统中已存在此设备编号,请确认"; return(rd); } } dm.DeviceNo = dvm.DeviceNo; dm.TypeId = dvm.TypeId; dm.ProjectId = dvm.ProjectId; dm.DeviceDescription = dvm.DeviceDescription; pid = new ProjectService().GetRootId(dvm.ProjectId.Value); dm.PId = pid; try { _dr.Save(dm); rd.Success = true; rd.Message = "修改设备信息成功"; } catch (Exception ex) { rd.Success = false; rd.Message = "修改设备信息失败" + ex.Message; } #endregion return(rd); }
public DeviceViewModel DeviceAdd(DeviceViewModel dvm) { #region 验证用户是否有权限添加设备 bool bRet = new UserService().IsAuthProject(dvm.Account, dvm.Token, dvm.ProjectId.Value, 3); if (!bRet) { dvm.Success = false; dvm.Message = "用户没有权限进行添加设备"; return(dvm); } #endregion #region 验证节点是否为叶子节点 ProjectService ms = new ProjectService(); bRet = ms.IsLeafProject(dvm.ProjectId.Value, dvm.Token); if (!bRet) { dvm.Success = false; dvm.Message = "非叶子节点不能添加设备"; return(dvm); } #endregion #region 验证在此节点下是否有此设备(同一个叶子节点下不允许设备重名) DeviceModel dm = _dr.Find(dvm.Token, dvm.DeviceName, dvm.ProjectId.Value); if (dm != null) { dvm.Success = false; dvm.Message = "此设备名称已存在"; return(dvm); } //验证设备编号是否重复(设备编号全局) dm = _dr.Find(dvm.DeviceSn, dvm.Token); if (dm != null) { dvm.Success = false; dvm.Message = "此设备已存在系统中"; return(dvm); } #endregion //获取项目的顶级编号 int pid = new ProjectService().GetRootId(dvm.ProjectId.Value); #region 添加设备 try { DeviceModel dmm = new DeviceModel(); dmm.ProjectId = dvm.ProjectId; dmm.DeviceName = dvm.DeviceName; dmm.DeviceSn = Guid.NewGuid().ToString("N"); dmm.DeviceNo = dvm.DeviceNo; dmm.TypeId = dvm.TypeId; dmm.Token = dvm.Token; dmm.ProductTime = DateTime.Now; dmm.UseTime = DateTime.Now; dmm.PId = pid; dmm.DeviceDescription = dvm.DeviceDescription; _dr.Add(dmm); dvm.Success = true; dvm.Message = "添加设备成功"; } catch (Exception ex) { dvm.Success = false; dvm.Message = "添加设备失败 " + ex.Message; return(dvm); } #endregion return(dvm); }