void DeviceHelper_OnDevicePowerOn(DeviceView device) { //foreach (ListViewItem item in deviceCollectionView.Items) //{ // createDeviceLVI(item, device); //} }
/// <summary> /// Get DeviceView from collection; queried with Linq /// </summary> /// <param name="groupLetter"></param> /// <param name="number"></param> /// <returns></returns> public DeviceView GetDevice(Letter groupLetter, int number) { DeviceView[] deviceViewArray = new DeviceView[this.Count]; this.CopyTo(deviceViewArray); var device = from d in deviceViewArray where d.Group == groupLetter.ToString() && d.Number == number select d; return (device.SingleOrDefault() as DeviceView); }
private ListViewItem createDeviceLVI(ListViewItem item, DeviceView device) { if (item == null) item = new ListViewItem(); item.Text = device + " (" + device.Power + ")"; item.Tag = device; switch (device.Power) { case Power.On: item.ForeColor = Color.Green; break; case Power.Off: item.ForeColor = Color.Red; break; } return (item); }
/// <summary> /// Update database /// </summary> /// <param name="device"></param> /// <param name="logAction"></param> /// <param name="logDetails"></param> private static void updateDatabase(DeviceView device, Power power, LogAction logAction, string logDetails) { device.Power = power; device.Save(); new Log(LogType.Information, logAction, device.ToString() + " " + logDetails); }
/// <summary> /// Power device On/Off /// </summary> /// <param name="device"></param> /// <param name="power"></param> /// <param name="logDetails"></param> private static void powerOnOrOff(DeviceView device, Power power, string logDetails) { if (!isInitialized) throw new Exception("DeviceHelper is not initialized!"); LogAction logAction = (power == Power.On ? LogAction.DeviceOn : LogAction.DeviceOff); switch (device.Type) { case BrandType.Radiographically: if (power == Power.On) { if (_isServerContext) RF.PowerDeviceOn(device.Group.ToString(), device.Number); else { TcpMessage message = new TcpMessage("kaku", "kaku"); message.AddTcpAction(TcpMessage.Type.PowerDeviceOn, device); TcpClientHelperClass.SendMessage(message); } } if (power == Power.Off) { if (_isServerContext) RF.PowerDeviceOff(device.Group.ToString(), device.Number); else { TcpMessage message = new TcpMessage("kaku", "kaku"); message.AddTcpAction(TcpMessage.Type.PowerDeviceOff, device); TcpClientHelperClass.SendMessage(message); } } break; case BrandType.X10: if (power == Power.On) { if (_isServerContext) { _cm11.TurnOnDevice(device.Address); //_cm11.BrightenLamp(device.Address, 50); updateDatabase(device, power, logAction, logDetails); if (OnDevicePowerOn != null) OnDevicePowerOn(device); } else { TcpMessage message = new TcpMessage("kaku", "kaku"); message.AddTcpAction(TcpMessage.Type.PowerDeviceOn, device); TcpClientHelperClass.SendMessage(message); } } if (power == Power.Off) { if (_isServerContext) { _cm11.TurnOffDevice(device.Address); //_cm11.BrightenLamp(device.Address, 50); updateDatabase(device, power, logAction, logDetails); if (OnDevicePowerOff != null) OnDevicePowerOff(device); } else { TcpMessage message = new TcpMessage("kaku", "kaku"); message.AddTcpAction(TcpMessage.Type.PowerDeviceOff, device); TcpClientHelperClass.SendMessage(message); } } break; } }
/// <summary> /// Toggle power state of device /// </summary> /// <param name="device"></param> public static void PowerToggle(DeviceView device, string logDetails) { if (device.Power == Power.On) PowerOff(device, logDetails); else PowerOn(device, logDetails); }
/// <summary> /// Power device On /// </summary> /// <param name="device"></param> public static void PowerOn(DeviceView device, string logDetails) { powerOnOrOff(device, Power.On, logDetails); }
public void PowerDeviceOn(DeviceView device) { device.PowerOn("ff testen vanuit webservice"); }