private string FormatIp(MeteringDevice existingDevice, DeviceDetectedEvent e) { string prefix = ""; if (!string.IsNullOrEmpty(existingDevice.DisplayIp)) { prefix = $"{existingDevice.DisplayIp} -> "; } return($"{prefix}{e.Ip.ToString()}"); }
private void HandleDevice(DeviceDetectedEvent e) { var existingDevice = Devices.FirstOrDefault(p => p.Id == e.Id); var isNewDevice = existingDevice == null; if (isNewDevice) { existingDevice = new MeteringDevice() { Id = e.Id }; Devices.Add(existingDevice); } existingDevice.Status = isNewDevice ? MeteringDeviceStatus.New : MeteringDeviceStatus.Found; existingDevice.DisplayIp = FormatIp(existingDevice, e); existingDevice.Ip = e.Ip.ToString(); }