public async Task <Track> Get(int id) { Track track = cacheContext.Tracks.FirstOrDefault(cache => cache.Id == id); if (track == null) { var tempTrack = await BaseGet(id); var trackCache = new TrackCache(tempTrack.Id, tempTrack.Nome, tempTrack.Nome, tempTrack.Logo); cacheContext.Tracks.InsertOnSubmit(trackCache); cacheContext.SubmitChanges(); } return(track); }
private void PlayEnqueued() { if (!play_enqueued || path_to_play == null) { return; } SafeUri uri = null; ServiceManager.PlaybackController.NextSource = this; try { uri = new SafeUri(path_to_play); } catch { } if (uri == null) { return; } int id = DatabaseTrackInfo.GetTrackIdForUri(uri, new int [] { DbId }); if (id >= 0) { int index = (int)TrackCache.IndexOf((long)id); if (index >= 0) { TrackInfo track = TrackModel[index]; if (track != null) { ServiceManager.PlayerEngine.OpenPlay(track); play_enqueued = false; } } } }