Пример #1
0
        public IActionResult Maixified(string userId, string playlistId, string token)
        {
            if (token == null)
            {
                return(Json(new SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyError(400, "Spotify token required!")));
            }

            SpotifyWebAPIWrapper.SpotifyAuthorization.SpotifyToken spotifyToken = JsonConvert.DeserializeObject <SpotifyWebAPIWrapper.SpotifyAuthorization.SpotifyToken> (token);
            _spotifyEndpointAccessor.SetAuthorizationToken(spotifyToken, HttpContext);

            SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyPlaylist generatedPlaylist = _spotifyEndpointAccessor.GetPlaylist(userId, playlistId);

            return(View(generatedPlaylist));
        }
Пример #2
0
        public IActionResult GeneratePlaylist(List <SpotifyWebAPIWrapper.SpotifyHelpers.SelectedPlaylistElem> selectedPlaylists, string playlistName, bool isPublic, bool isCollaborative, string token)
        {
            if (token == null)
            {
                return(Json(new SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyError(400, "Spotify token required!")));
            }

            if (selectedPlaylists.Count < 2)
            {
                return(RedirectToAction("Error", new SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyError(400, "You have to select minimum 2 playlists!")));
            }

            SpotifyWebAPIWrapper.SpotifyAuthorization.SpotifyToken spotifyToken = JsonConvert.DeserializeObject <SpotifyWebAPIWrapper.SpotifyAuthorization.SpotifyToken> (token);
            _spotifyEndpointAccessor.SetAuthorizationToken(spotifyToken, HttpContext);

            List <SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyPlaylist> selectedPlaylistsObject = _spotifyEndpointAccessor.GetPlaylists(selectedPlaylists);

            SpotifyWebAPIWrapper.SpotifyObjectModel.PlaylistMixerCoreLogic mixer = new SpotifyWebAPIWrapper.SpotifyObjectModel.PlaylistMixerCoreLogic(_spotifyEndpointAccessor);
            if (HttpContext.Request.Cookies.ContainsKey(SpotifyWebAPIWrapper.SpotifyHelpers.thresholdSettingCookieKey) &&
                HttpContext.Request.Cookies.ContainsKey(SpotifyWebAPIWrapper.SpotifyHelpers.recommendedMusicSettingCookieKey) &&
                HttpContext.Request.Cookies.ContainsKey(SpotifyWebAPIWrapper.SpotifyHelpers.sortOptionSettingCookieKey))
            {
                string thresholdString = HttpContext.Request.Cookies[SpotifyWebAPIWrapper.SpotifyHelpers.thresholdSettingCookieKey];
                double thresholdDouble;
                Double.TryParse(thresholdString, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out thresholdDouble);

                mixer.Settings.Threshold        = thresholdDouble;
                mixer.Settings.RecommendedMusic = Convert.ToBoolean(HttpContext.Request.Cookies[SpotifyWebAPIWrapper.SpotifyHelpers.recommendedMusicSettingCookieKey]);
                mixer.Settings.SortOption       = SpotifyWebAPIWrapper.SpotifyObjectModel.PlaylistMixerCoreLogic.PlaylistMixerSettings.ConvertStringToSortOptions(HttpContext.Request.Cookies[SpotifyWebAPIWrapper.SpotifyHelpers.sortOptionSettingCookieKey]);
            }

            if (playlistName == null || playlistName == "")
            {
                playlistName = SpotifyWebAPIWrapper.SpotifyHelpers.MakeDefaultPlaylistName();
            }

            SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyPlaylist generatedPlaylist = mixer.GenerateMaixifyPlaylist(selectedPlaylistsObject, playlistName, isPublic, isCollaborative);
            if (generatedPlaylist == null)
            {
                return(RedirectToAction("Error", new SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyError(400, "Cannot make playlist with the given settings!")));
            }

            return(RedirectToAction("Maixified", new { userId = generatedPlaylist.OwnerUser.Id, playlistId = generatedPlaylist.Id, token = token }));
        }
Пример #3
0
        public IActionResult GetPlaylist(string userId, string playlistId, string token)
        {
            if (token == null)
            {
                return(Json(new SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyError(400, "Spotify token required!")));
            }

            if (userId == null || playlistId == null)
            {
                return(Json(new SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyError(400, "Please add a Spotify username/playlist id!")));
            }

            SpotifyWebAPIWrapper.SpotifyAuthorization.SpotifyToken spotifyToken = JsonConvert.DeserializeObject <SpotifyWebAPIWrapper.SpotifyAuthorization.SpotifyToken> (token);
            _spotifyEndpointAccessor.SetAuthorizationToken(spotifyToken, HttpContext);

            SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyPlaylist playlist = _spotifyEndpointAccessor.GetPlaylist(userId, playlistId);

            if (playlist == null)
            {
                return(Json(new SpotifyWebAPIWrapper.SpotifyObjectModel.SpotifyError(404, "Not found/Invalid user or playlist id.")));
            }

            return(Json(playlist));
        }