예제 #1
0
        private string FormatIp(MeteringDevice existingDevice, DeviceDetectedEvent e)
        {
            string prefix = "";

            if (!string.IsNullOrEmpty(existingDevice.DisplayIp))
            {
                prefix = $"{existingDevice.DisplayIp} -> ";
            }
            return($"{prefix}{e.Ip.ToString()}");
        }
예제 #2
0
        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();
        }