Example #1
0
        //修改设备的基本信息
        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);
        }
Example #2
0
        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);
        }