示例#1
0
 static void UpdateDeviceInfo(Message msg, Device device)
 {
     if (!allowAllowAnonymous || msg.Device != null)
     {
         device.Connected = true;
         device.Number = msg.Device.DeviceNumber;
         Unity.UpdateDeviceState(msg.Device, device, false);
     }
 }
示例#2
0
        public static void UpdateDeviceState(DeviceInfo deviceinfo, Device device, bool disconnected)
        {
            if (device.Updated && !disconnected)
            {
                return;
            }
            try
            {
                if (string.IsNullOrEmpty(device.Number))
                {
                    return;
                }

                var service = ServiceFactory.GetService<IDeviceService>();

                if (deviceinfo != null && deviceinfo.PkId == 0)
                {
                    deviceinfo.RegisterIp = device.RemoteIP;

                    service.Save_Info(deviceinfo);
                }

                var item = service.GetObjectByDeviceNumber_Connection(device.Number);

                if (item == null)
                {
                    item = new DeviceConnection();
                }

                item.CollectorName = CurrencyStore.Collector.Configration.CurrencyStoreSection.Instance.Name;
                item.ConnectTime = device.ConnectionDate;
                item.DisconnectTime = device.DisconnectionDate;
                item.UploadCount = device.Counter;
                item.DeviceIp = device.RemoteIP;
                item.DeviceNumber = device.Number;
                item.CollectorIp = device.LocalIP;
                item.ConnectionStatus = (byte)(device.Connected ? 1 : 2);

                service.Save_Connection(item);

                device.Updated = true;
            }
            catch (Exception ex)
            {
                logger.Error("更新连接状态错误.", ex);
            }
        }