public IAsyncOperation <LampStateSetHueResult> SetHueAsync(AllJoynMessageInfo info, uint value) { return( Task.Run(() => { _hue = value; switch (_hue) { case 0x00000000: // red SetColor(1); break; case 0x55555555: // green SetColor(2); break; case 0xAAAAAAAA: // blue SetColor(3); break; case 0x80000000: // cyan SetColor(4); break; case 0x78E37900: // white SetColor(5); break; case 0x2B602B80: // oldlace SetColor(6); break; case 0xBFFFC000: // purple SetColor(7); break; case 0xDC70DC00: // magenta SetColor(8); break; case 0x349F3480: // yellow SetColor(9); break; case 0x238E2380: // orange SetColor(10); break; case 0xD554D500: // pink SetColor(11); break; default: SetColor(0); break; } SetColor(_colorCode); return LampStateSetHueResult.CreateSuccessResult(); }).AsAsyncOperation()); }
private async void Hue_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) { Slider sl1 = sender as Slider; var vm = sl1.DataContext as ViewModels.AJViewBulb; if (vm == null) { return; } try { if (vm != null) { foreach (DisplayLamp d in bulbs) { if (vm.ID.Equals(d.about.DeviceId) && vm.Name.Equals(d.about.DeviceName)) { if (heuwait) { return; } heuwait = true; uint percent = (uint)e.NewValue; uint ret = ViewModels.AJViewBulb.convertFromDegree(percent); LampStateSetHueResult res = (LampStateSetHueResult)await d.consumer.SetHueAsync(ret); setTimerIfPhilips(d); heuwait = false; return; } } } } catch (Exception ex) { } }