예제 #1
0
        private List <TrackProjection> GetTracks(
            IEnumerable <long> playlistsId,
            Account account,
            DateTime now,
            ApiGeoCoordenate geoCoordenate)
        {
            var isPremium = account != null && account.Type == AccountType.Premium;

            var addSpots = !isPremium;

            var songs = new List <SongProjection>();
            var spots = new List <SpotProjection>();

            foreach (var playlist in playlists)
            {
                songs.AddRange(GetSongs(playlist, trackVersion));

                if (addSpots)
                {
                    spots.AddRange(GetSpots(playlist, now, locations));
                }
            }

            var result = JoinSongsAndSpots(songs, spots);

            return(result);
        }
예제 #2
0
        private List<TrackProjection> GetTracks(
            IEnumerable<long> playlistsId,
            Account account,
            DateTime now,
            ApiGeoCoordenate geoCoordenate)
        {
            var isPremium = account != null && account.Type == AccountType.Premium;

            var addSpots = !isPremium;

            var songs = new List<SongProjection>();
            var spots = new List<SpotProjection>();

            foreach (var playlist in playlists)
            {
                songs.AddRange(GetSongs(playlist, trackVersion));

                if (addSpots)
                {
                    spots.AddRange(GetSpots(playlist, now, locations));
                }
            }

            var result = JoinSongsAndSpots(songs, spots);
            return result;
        }
예제 #3
0
        private void SavePlayedPlaylists(
            long[] playlistsId,
            Account account,
            ApiGeoCoordenate geoLocation)
        {
            if (!AppSettings.PlaySaveTrack)
            {
                return;
            }

            try
            {
                //...

                var taskPlay = _beetService.Play.Post(data);
                if (account != null)
                {
                    taskPlay.ContinueWith(task => _beetService.Suggestion.Post(account.Id));
                }
            }
            catch
            {
                //log
            }
        }
예제 #4
0
        private void SavePlayedPlaylists(
            long[] playlistsId,
            Account account,
            ApiGeoCoordenate geoLocation)
        {
            if (!AppSettings.PlaySaveTrack)
            {
                return;
            }

            try
            {
                //...

                var taskPlay = _beetService.Play.Post(data);
                if (account != null)
                {
                    taskPlay.ContinueWith(task => _beetService.Suggestion.Post(account.Id));
                }
            }
            catch
            {
				//log
            }
        }