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)); } } }
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 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)); } } }