public async Task <Result> Prev() { var sb = new StringBuilder(); var powerStatus = await _yamahaService.PowerStatus(); if (powerStatus == PowerStatusEnum.On) { var mpdState = _mpdService.GetStatus().State; var state = await _smartHouseService.GetCurrentState(); if (state == SmartHouseState.Music && (mpdState == MpdState.Play || mpdState == MpdState.Pause)) { _mpdService.Previous(); sb.AppendLine("MPD Previous song"); } else if (state == SmartHouseState.Pandora) { _playerService.Prev(); sb.AppendLine("Player prev song"); } else if (state == SmartHouseState.TV) { await _tvService.Rewind(); sb.AppendLine("TV Rewind"); } } else { sb.AppendLine("Yamaha is turned off. Operation canceled"); PushNotification("Yamaha is turned off. Operation canceled"); } return(new Result() { ErrorCode = 0, Message = sb.ToString(), Ok = true }); }