public void Reset() { _currentMix = _startMix; _playToken = null; _currentPlayResponse = null; }
public bool MoveNext(CancellationToken token) { using (var session = new EightTracksSession(EightTracksModule.ApiKey)) { if (_playToken == null) { _playToken = session.Query <Play>().GetPlayToken(); } if (_currentPlayResponse == null) { _currentPlayResponse = session.Query <Play>().Execute(_playToken.PlayToken, _currentMix.ID); } else if (!_currentPlayResponse.Set.AtEnd) { _currentPlayResponse = session.Query <Play>().Next(_playToken.PlayToken, _currentMix.ID); } if (_currentPlayResponse.Errors != null) { var errorNodes = _currentPlayResponse.Errors as XmlNode[]; if (errorNodes != null && errorNodes.Any()) { var errorNode = errorNodes.FirstOrDefault(); if (errorNode != null && (errorNode.Name != "nil" && errorNode.Value != "true")) { var errorText = errorNode.InnerText; _toastService.Show(errorText); } } } if (MoveToNextSimilarMixAtEnd) { if (_currentPlayResponse.Set == null || _currentPlayResponse.Set.AtEnd) { if (_currentMix != null) { var nextMixResponse = session.Query <Mixes>().GetNextMix(_playToken.PlayToken, _currentMix.ID); _currentMix = nextMixResponse.NextMix; if (_currentMix != null) { Description = _currentMix.Name; _currentPlayResponse = session.Query <Play>().Execute(_playToken.PlayToken, _currentMix.ID); } } // TODO : Add user-notification and logging if there is any errors } } if (_currentPlayResponse.Set == null) { return(false); } } return(_currentPlayResponse != null && !_currentPlayResponse.Set.AtEnd); }
public void Dispose() { _playToken = null; _currentPlayResponse = null; }
public bool MoveNext(CancellationToken token) { using (var session = new EightTracksSession(EightTracksModule.ApiKey)) { if (_playToken == null) { _playToken = session.Query<Play>().GetPlayToken(); } if (_currentPlayResponse == null) { _currentPlayResponse = session.Query<Play>().Execute(_playToken.PlayToken, _currentMix.ID); } else if (!_currentPlayResponse.Set.AtEnd) { _currentPlayResponse = session.Query<Play>().Next(_playToken.PlayToken, _currentMix.ID); } if (_currentPlayResponse.Errors != null) { var errorNodes = _currentPlayResponse.Errors as XmlNode[]; if (errorNodes != null && errorNodes.Any()) { var errorNode = errorNodes.FirstOrDefault(); if (errorNode != null && (errorNode.Name != "nil" && errorNode.Value != "true")) { var errorText = errorNode.InnerText; _toastService.Show(errorText); } } } if (MoveToNextSimilarMixAtEnd) { if (_currentPlayResponse.Set == null || _currentPlayResponse.Set.AtEnd) { if (_currentMix != null) { var nextMixResponse = session.Query<Mixes>().GetNextMix(_playToken.PlayToken, _currentMix.ID); _currentMix = nextMixResponse.NextMix; if (_currentMix != null) { Description = _currentMix.Name; _currentPlayResponse = session.Query<Play>().Execute(_playToken.PlayToken, _currentMix.ID); } } // TODO : Add user-notification and logging if there is any errors } } if (_currentPlayResponse.Set == null) { return false; } } return _currentPlayResponse != null && !_currentPlayResponse.Set.AtEnd; }