private async void SendGroupCommand(int delay = 0) { lastCommand = DateTime.Now; await Task.Delay(delay); if (delay == 0 || DateTime.Now - lastCommand >= new TimeSpan(0, 0, 0, 0, delay)) { IsLoading = true; var appliance = Appliances.FirstOrDefault() as Light; if (appliance != null) { try { var client = new HueClient(appliance.HueUser); await client.SendCommandAsync(HueGroup); } catch (Exception ex) { DebugHelper.Debugger.WriteErrorLog("Error occurred while sending group command.", ex); await new MessageDialog("Error occurred while sending group command: " + ex.Message).ShowAsync(); } } IsLoading = false; } }
private async void SendSceneCommand() { if (SelectedHueScene != null) { IsLoading = true; var appliance = Appliances.FirstOrDefault() as Light; if (appliance != null && SelectedHueScene != null) { try { var client = new HueClient(appliance.HueUser); await client.SendCommandAsync(SelectedHueScene); HueGroup = await client.GetHueGroupByIdAsync(HueGroup.Id); } catch (Exception ex) { DebugHelper.Debugger.WriteErrorLog("Error occurred while sending scene command.", ex); await new MessageDialog("Error occurred while sending scene command: " + ex.Message).ShowAsync(); } } IsLoading = false; } }