Пример #1
0
        /// <summary>
        /// 更新设备
        /// </summary>
        /// <param name="deviceUpdate">设备信息</param>
        /// <param name="userName">用户名</param>
        /// <returns>更新结果</returns>
        public IStatusCodeActionResult Update(DensityDeviceUpdate deviceUpdate, string userName = null)
        {
            DensityDevice device = _context.Devices
                                   .Include(d => d.DensityDevice_DensityChannels)
                                   .SingleOrDefault(d => d.DeviceId == deviceUpdate.DeviceId);

            if (device == null)
            {
                return(new NotFoundResult());
            }

            device.DeviceName  = deviceUpdate.DeviceName;
            device.DeviceModel = deviceUpdate.DeviceModel;
            device.Ip          = deviceUpdate.Ip;
            device.Port        = deviceUpdate.Port;
            device.DataPort    = deviceUpdate.DataPort;

            try
            {
                UpdateChannels(device, deviceUpdate.Channels);
                _context.Devices.Update(device);
                _context.SaveChanges();
                _logger.LogInformation(new EventId((int)LogEvent.编辑设备, userName), $"更新设备 {device}");
                return(new OkResult());
            }
            catch (Exception)
            {
                ModelStateDictionary modelState = CheckError(device, deviceUpdate.Channels);
                if (modelState.IsValid)
                {
                    throw;
                }
                else
                {
                    return(new BadRequestObjectResult(modelState));
                }
            }
        }
Пример #2
0
 public IActionResult Update([FromBody] DensityDeviceUpdate deviceUpdate)
 {
     return(_manager.Update(deviceUpdate, User?.Identity?.Name));
 }