示例#1
0
 /// <summary>
 /// 设备同步通知
 /// </summary>
 /// <param name="device"></param>
 /// <param name="state">0:删除,1:更新: 2:新增</param>
 private void SendDatachangeNotify(IPDeviceInfo device, int state)
 {
     if (device.IPDeviceCode > 0)
     {
         using (var db = new AllInOneContext.AllInOneContext())
         {
             //哨位台挂在哨位节点上面
             var deviceOrg = db.Organization.FirstOrDefault(t => t.OrganizationId.Equals(device.OrganizationId));
             var service   = db.ServiceInfo.Include(t => t.ServerInfo).FirstOrDefault(t => t.ServiceTypeId.Equals(Guid.Parse("A0002016-E009-B019-E001-ABCD11300206")) &&
                                                                                      (t.ServerInfo.OrganizationId.Equals(deviceOrg.ParentOrganizationId) || t.ServerInfo.OrganizationId.Equals(device.OrganizationId)));
             if (service != null)
             {
                 PAPS.Data.DeviceInfoChange changeInfo = new PAPS.Data.DeviceInfoChange()
                 {
                     DeviceCode   = device.IPDeviceCode,
                     DeviceId     = device.IPDeviceInfoId,
                     DevicetypeId = device.DeviceTypeId,
                     Operater     = state
                 };
                 try
                 {
                     new ASCSApi(service).NotifyDeviceInfoChange(changeInfo);
                 }
                 catch (Exception ex)
                 {
                     _logger.LogError("设备变更通知异常{0}\r\rStackTrace:{1}", ex.Message, ex.StackTrace);
                 }
             }
         }
     }
 }
示例#2
0
 public IActionResult Remove(Guid id)
 {
     using (var db = new AllInOneContext.AllInOneContext())
     {
         IPDeviceInfo deleteObj = db.IPDeviceInfo.FirstOrDefault(t => t.IPDeviceInfoId.Equals(id));
         if (deleteObj == null)
         {
             return(NotFound());
         }
         db.IPDeviceInfo.Remove(deleteObj);
         db.SaveChanges();
         SendDatachangeNotify(deleteObj, 0);
     }
     return(NoContent());
 }
示例#3
0
 public IActionResult Remove(Guid id)
 {
     using (var db = new AllInOneContext.AllInOneContext())
     {
         using (var transaction = db.Database.BeginTransaction())
         {
             try
             {
                 MonitorySite ms = db.MonitorySite.FirstOrDefault(t => t.MonitorySiteId.Equals(id));
                 if (ms == null)
                 {
                     return(NotFound());
                 }
                 Camera       camera       = db.Set <Camera>().First(t => t.CameraId.Equals(ms.CameraId));
                 IPDeviceInfo cameraDevice = db.IPDeviceInfo.First(t => t.IPDeviceInfoId.Equals(camera.IPDeviceId));
                 db.MonitorySite.Remove(ms);
                 db.Set <Camera>().Remove(camera);
                 //db.IPDeviceInfo.Remove(cameraDevice);
                 var deleteStatusId = Guid.Parse("a0002016-e009-b019-e001-abcd13800005");
                 cameraDevice.StatusId = deleteStatusId;
                 //Remove AlarmSetting
                 List <Guid> alarmSourceIds = new List <Guid>();
                 alarmSourceIds.Add(cameraDevice.IPDeviceInfoId);
                 AlarmSettingUtility.RemoveAlarmSetting(db, alarmSourceIds);
                 db.SaveChanges();
                 transaction.Commit();
                 //推送到dcp,数据同步。。。。。。
                 return(new NoContentResult());
             }
             catch (DbUpdateException dbEx)
             {
                 transaction.Rollback();
                 _logger.LogError("删除监控点异常:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace);
                 return(BadRequest(new ApplicationException {
                     ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message
                 }));
             }
             catch (Exception ex)
             {
                 _logger.LogError("删除监控点异常:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace);
                 return(BadRequest(new ApplicationException {
                     ErrorCode = "Unknown", ErrorMessage = ex.Message
                 }));
             }
         }
     }
 }
示例#4
0
 public IActionResult Update([FromBody] MonitorySite ms)
 {
     if (ms == null)
     {
         return(BadRequest("MonitorySite object can not be null!"));
     }
     if (ExistsName(ms.MonitorySiteName, ms.OrganizationId, ms.MonitorySiteId))
     {
         return(BadRequest("MonitorySite name has been used!"));
     }
     using (var db = new AllInOneContext.AllInOneContext())
     {
         try
         {
             db.MonitorySite.Update(ms);
             IPDeviceInfo cameraDevice = db.IPDeviceInfo.FirstOrDefault(t => t.IPDeviceInfoId.Equals(ms.Camera.IPDeviceId));
             if (cameraDevice != null)
             {
                 cameraDevice.IPDeviceName = ms.MonitorySiteName;
                 db.IPDeviceInfo.Update(cameraDevice);
             }
             db.SaveChanges();
             // //推送到dcp,数据同步。。。。。
             return(NoContent());
         }
         catch (DbUpdateException dbEx)
         {
             _logger.LogError("更新监控点异常:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace);
             return(BadRequest(new ApplicationException {
                 ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message
             }));
         }
         catch (Exception ex)
         {
             _logger.LogError("更新监控点异常:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace);
             return(BadRequest(new ApplicationException {
                 ErrorCode = "Unknown", ErrorMessage = ex.Message
             }));
         }
     }
 }
示例#5
0
 public IActionResult Add([FromBody] IPDeviceInfo deviceInfo)
 {
     if (deviceInfo == null)
     {
         return(BadRequest("IPDeviceInfo object can not be null!"));
     }
     if (ExistsName(deviceInfo.IPDeviceName, deviceInfo.OrganizationId, deviceInfo.IPDeviceInfoId))
     {
         return(BadRequest("IPDeviceInfo name has been used!"));
     }
     using (var db = new AllInOneContext.AllInOneContext())
     {
         try
         {
             deviceInfo.Modified     = DateTime.Now;
             deviceInfo.IPDeviceCode = NewIpdeviceCode(db, deviceInfo.OrganizationId);
             db.IPDeviceInfo.Add(deviceInfo);
             db.SaveChanges();
             //  return CreatedAtRoute("GetById",new { id = deviceInfo.DeviceInfoId }, deviceInfo);
             SendDatachangeNotify(deviceInfo, 2);
             return(CreatedAtAction("", deviceInfo));
         }
         catch (DbUpdateException dbEx)
         {
             _logger.LogError("添加设备异常:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace);
             return(BadRequest(new ApplicationException {
                 ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message
             }));
         }
         catch (Exception ex)
         {
             _logger.LogError("添加设备异常:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace);
             return(BadRequest(new ApplicationException {
                 ErrorCode = "Unknown", ErrorMessage = ex.Message
             }));
         }
     }
 }
示例#6
0
文件: Program.cs 项目: wpmyj/Server-1
        public static void Main(string[] args)
        {
            AlarmMainframe amf           = new AlarmMainframe();
            IPDeviceInfo   amfDeviceInfo = new IPDeviceInfo()
            {
                IPDeviceCode     = 1,
                DeviceTypeId     = Guid.Parse("a0002016-e009-b019-e001-abcd11000003"),
                Modified         = DateTime.Now,
                ModifiedByUserId = Guid.Parse("609955c4-7f32-308b-5343-2eb3ebf373ea"),
                IPDeviceName     = "报警主机12",
                OrganizationId   = Guid.Parse("b31f22c1-bcd8-4b5a-ad5b-70760a1a9d74"),
            };

            amf.AlarmMainframeId = Guid.NewGuid();
            amf.DeviceInfo       = amfDeviceInfo;
            List <AlarmPeripheral> aps = new List <AlarmPeripheral>();
            var alarmDevice1           = new IPDeviceInfo()
            {
                IPDeviceInfoId   = Guid.NewGuid(),
                ModifiedByUserId = Guid.Parse("609955c4-7f32-308b-5343-2eb3ebf373ea"),
                IPDeviceName     = "报警主机12",
                OrganizationId   = Guid.Parse("b31f22c1-bcd8-4b5a-ad5b-70760a1a9d74"),
                DeviceTypeId     = Guid.Parse("a0002016-e009-b019-e001-abcd11000005"),
            };

            aps.Add(new AlarmPeripheral()
            {
                AlarmChannel      = 1,
                AlarmDevice       = alarmDevice1,
                DefendArea        = 1,
                AlarmPeripheralId = Guid.NewGuid(),
                AlarmMainframeId  = amf.AlarmMainframeId,
                AlarmTypeId       = Guid.Parse("a0002016-e009-b019-e001-ab1100001103"),
            });
            amf.AlarmPeripherals = aps;
            Console.WriteLine(JsonConvert.SerializeObject(amf));
            Console.ReadLine();
        }
 public IActionResult Remove(Guid id)
 {
     using (var db = new AllInOneContext.AllInOneContext())
     {
         try
         {
             AlarmPeripheral editObj = db.AlarmPeripheral.FirstOrDefault(s => s.AlarmPeripheralId.Equals(id));
             if (editObj == null || !editObj.AlarmPeripheralId.Equals(id))
             {
                 return(NotFound());
             }
             IPDeviceInfo alarmDevice = db.IPDeviceInfo.First(s => s.IPDeviceInfoId.Equals(editObj.AlarmDeviceId));
             db.AlarmPeripheral.Remove(editObj);
             db.IPDeviceInfo.Remove(alarmDevice);
             db.SaveChanges();
             return(NoContent());
         }
         catch (Exception ex)
         {
             _logger.LogError("删除报警外设异常:Message:{0}\r\nStackTrace:{0}", ex.Message, ex.StackTrace);
             return(BadRequest(ex));
         }
     }
 }