/// <summary> /// Change the volume of a specified zone. /// </summary> /// <param name="zoneId">Zone id</param> /// <param name="adjVolume">Delta Volume</param> /// <returns>Zone state, after the command has been performed.</returns> private ZoneState AdjustVolume(Address zoneId, int adjVolume) { MonitorAndControlClient mcProxy = getMCProxy(); mcProxy.Connect(); ZoneState zoneState = mcProxy.GetZoneState(zoneId); zoneState.Volume = zoneState.Volume + adjVolume; mcProxy.SetZoneState(zoneId, zoneState); zoneState = mcProxy.GetZoneState(zoneId); mcProxy.Disconnect(); return(zoneState); }
/// <summary> /// Switches a zone, specified by its zone id, either on or off (depending on its current state). /// </summary> /// <param name="zoneId">Zone Id</param> /// <returns>Zone state, after the switch command has been performed.</returns> public ZoneState SwitchZone(Address zoneId) { MonitorAndControlClient mcProxy = getMCProxy(); mcProxy.Connect(); ZoneState zoneState = mcProxy.GetZoneState(zoneId); zoneState.PowerStatus = !zoneState.PowerStatus; mcProxy.SetZoneState(zoneId, zoneState); zoneState = mcProxy.GetZoneState(zoneId); mcProxy.Disconnect(); return(zoneState); }
/// <summary> /// Changes the source of a specified zone. /// </summary> /// <param name="zoneId">Zone id, to specify zone</param> /// <param name="sourceId">Source id, tp specify source</param> /// <returns>Zone state, after the command has been performed.</returns> public ZoneState SwitchSource(Address zoneId, Address sourceId) { MonitorAndControlClient mcProxy = getMCProxy(); mcProxy.Connect(); ZoneState zoneState = mcProxy.GetZoneState(zoneId); zoneState.Source = sourceId; mcProxy.SetZoneState(zoneId, zoneState); zoneState = mcProxy.GetZoneState(zoneId); mcProxy.Disconnect(); return(zoneState); }
void zoneCtrl__zoneStateChange(object sender, RoutedEventArgs e) { try { ZoneControl zoneCtrl = sender as ZoneControl; if (zoneCtrl != null) { _monitorAndControlProxy.SetZoneState(zoneCtrl.Zone.Id, zoneCtrl.ZoneStateCmd); } } catch (Exception) { _monitorAndControlProxy.Abort(); } }