Esempio n. 1
0
        public IActionResult Add([FromBody] AlarmMainframe deviceInfo)
        {
            if (deviceInfo == null)
            {
                return(BadRequest("AlarmMainframe object can not be null!"));
            }

            using (var db = new AllInOneContext.AllInOneContext())
            {
                try
                {
                    db.AlarmMainframe.Add(deviceInfo);
                    db.SaveChanges();
                    return(CreatedAtAction("", deviceInfo));
                }
                catch (Exception ex)
                {
                    _logger.LogError("添加报警主机异常,Message:{0}\r\nStackTrace:{1}", ex.Message, ex.StackTrace);
                    return(BadRequest(ex));
                }
            }
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        public IActionResult Update([FromBody] AlarmMainframe alarmMainframe)
        {
            if (alarmMainframe == null)
            {
                return(BadRequest("AlarmMainframe object can not be null!"));
            }

            using (var db = new AllInOneContext.AllInOneContext())
            {
                try
                {
                    var obj = GetQuery(db).FirstOrDefault(t => t.AlarmMainframeId.Equals(alarmMainframe.AlarmMainframeId));
                    //已删除的防区设备
                    var deleteStatus = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("13800005"));
                    if (obj.AlarmPeripherals != null)
                    {
                        if (alarmMainframe.AlarmPeripherals == null)
                        {
                            obj.AlarmPeripherals.ForEach(t => t.AlarmDevice.StatusId = deleteStatus.SystemOptionId);
                        }
                        else
                        {
                            var uiAlarmPeripheralIds = alarmMainframe.AlarmPeripherals.Select(t => t.AlarmPeripheralId).ToList();
                            obj.AlarmPeripherals.ForEach(t =>
                            {
                                if (!uiAlarmPeripheralIds.Contains(t.AlarmPeripheralId))
                                {
                                    t.AlarmDevice.StatusId = deleteStatus.SystemOptionId; //已删除
                                }
                            });
                        }
                    }

                    //防区设备更新
                    if (alarmMainframe.AlarmPeripherals != null)
                    {
                        if (obj.AlarmPeripherals == null)
                        {
                            obj.AlarmPeripherals = alarmMainframe.AlarmPeripherals;
                        }
                        else
                        {
                            var dbAlarmPeripherals = obj.AlarmPeripherals.Select(t => t.AlarmPeripheralId).ToList();
                            alarmMainframe.AlarmPeripherals.ForEach(t =>
                            {
                                if (!dbAlarmPeripherals.Contains(t.AlarmPeripheralId))
                                {
                                    obj.AlarmPeripherals.Add(t);
                                }
                                else //已添加,更新
                                {
                                    var dbAlarmPeripheral = obj.AlarmPeripherals.FirstOrDefault(f => f.AlarmPeripheralId.Equals(t.AlarmPeripheralId));
                                    dbAlarmPeripheral.AlarmDevice.DeviceTypeId = t.AlarmDevice.DeviceTypeId;
                                    dbAlarmPeripheral.AlarmDevice.IPDeviceName = t.AlarmDevice.IPDeviceName;
                                    dbAlarmPeripheral.AlarmTypeId  = t.AlarmTypeId;
                                    dbAlarmPeripheral.AlarmChannel = t.AlarmChannel;
                                    dbAlarmPeripheral.DefendArea   = t.DefendArea;
                                }
                            });
                        }
                    }
                    obj.DeviceInfo.IPDeviceCode     = alarmMainframe.DeviceInfo.IPDeviceCode;
                    obj.DeviceInfo.EndPointsJson    = alarmMainframe.DeviceInfo.EndPointsJson;
                    obj.DeviceInfo.IPDeviceName     = alarmMainframe.DeviceInfo.IPDeviceName;
                    obj.DeviceInfo.ModifiedByUserId = alarmMainframe.DeviceInfo.ModifiedByUserId;
                    obj.DeviceInfo.OrganizationId   = alarmMainframe.DeviceInfo.OrganizationId;
                    obj.DeviceInfo.Modified         = DateTime.Now;
                    obj.DeviceInfo.DeviceTypeId     = alarmMainframe.DeviceInfo.DeviceTypeId;
                    db.AlarmMainframe.Update(obj);
                    db.SaveChanges();
                    return(NoContent());
                }
                catch (Exception ex)
                {
                    _logger.LogError("更新报警主机异常,Message:{0}\r\nStackTrace:{1}", ex.Message, ex.StackTrace);
                    return(BadRequest(ex));
                }
            }
        }