Ejemplo n.º 1
0
        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;
                    }
                }
            }
        }