public StationColorDevice GetStationClolorDevice() { var dalDeviceStatus = new DAL_DeviceStatus(); StationColorDevice _StationColorDevice = new StationColorDevice(); _StationColorDevice.SSAColor = dalDeviceStatus.CheckStatusDevicesStation(EnumStation.ALK); _StationColorDevice.SSKColor = dalDeviceStatus.CheckStatusDevicesStation(EnumStation.ARK); _StationColorDevice.ESPColor = dalDeviceStatus.CheckStatusDevicesStation(EnumStation.SSP); _StationColorDevice.UHPColor = dalDeviceStatus.CheckStatusDevicesStation(EnumStation.SHP); Trinity.Common.Utils.LogManager.Info("GetStationClolorDevice: " + JsonConvert.SerializeObject(_StationColorDevice)); return(_StationColorDevice); }
/// <summary> /// 设备状态改变回调方法 /// </summary> /// <param name="sender"></param> /// <param name="status"></param> private static void OnDeviceStatusChanged(object sender, DeviceStatus status) { T_DeviceStatusLog log = new T_DeviceStatusLog(); log.EquipId = status.Device.Id; log.StatusDesc = status.StatusDesc; log.StatusId = status.Status.GetHashCode(); DAL_DeviceStatus.SaveDeviceStatus(log); if (DeviceStatusNotifyHandler != null) { DeviceStatusNotifyHandler.Invoke(sender, status); } }
public void ReportDeviceStatus(EnumDeviceId enumDeviceId, EnumDeviceStatus[] newStatuses) { try { if (_lstDevices == null || _lstDevices.Count == 0) { return; } DeviceStatus deviceStatus = _lstDevices.FirstOrDefault(item => item.DeviceID == enumDeviceId); // Save new status deviceStatus.Status = newStatuses; // update summary // Error status if (newStatuses == null || newStatuses.Length == 0 || newStatuses.Contains(EnumDeviceStatus.Disconnected)) { deviceStatus.Summary = EnumDeviceStatusSumary.Error; } // if application have no device disconnected, and have any device status is diffirent connected, update status caution // Need to define caution statuses group else if (newStatuses.Any(item => item != EnumDeviceStatus.Connected)) { deviceStatus.Summary = EnumDeviceStatusSumary.Caution; } // if all devices are connected and have no caution, update status is ready else { deviceStatus.Summary = EnumDeviceStatusSumary.Ready; } // If application initialization is not fisnished and this device status is not reported yet // update device initialization finished if (_isInitializing && !_isInitializing_LayerWeb && !_lstDevices.Any(item => item.Status == null)) { _isInitializing = false; } UpdateLEDsLight(); // update local ApplicationDevice_Status DAL_DeviceStatus dAL_DeviceStatus = new DAL_DeviceStatus(); dAL_DeviceStatus.Update((int)enumDeviceId, newStatuses); Trinity.SignalR.Client.Instance.DeviceStatusChanged((int)enumDeviceId, newStatuses); } catch (Exception ex) { Debug.WriteLine("ReportDeviceStatus exception: " + ex.ToString()); } }
private static void ReportDeviceStatus() { try { // get statuses var statuses = SmartCardPrinterUtil.Instance.GetDeviceStatus(); // update local ApplicationDevice_Status DAL_DeviceStatus dAL_DeviceStatus = new DAL_DeviceStatus(); dAL_DeviceStatus.Update((int)EnumDeviceId.SmartCardPrinter, statuses); Trinity.SignalR.Client.Instance.DeviceStatusChanged((int)EnumDeviceId.SmartCardPrinter, statuses); } catch (Exception ex) { Debug.WriteLine("SmartCardPrinterMonitor.ReportDeviceStatus exception: " + ex.ToString()); } }