public string SubmitAddNewSong(string Song_Title, string Song_Guid, string Sel_Playlist_ID) { hypster_tv_DAL.Hypster_Entities hypDB = new hypster_tv_DAL.Hypster_Entities(); hypster_tv_DAL.songsManagement songsManager = new hypster_tv_DAL.songsManagement(); hypster_tv_DAL.memberManagement userManager = new hypster_tv_DAL.memberManagement(); hypster_tv_DAL.playlistManagement playlistManagement = new hypster_tv_DAL.playlistManagement(); hypster_tv_DAL.Member curr_user = new hypster_tv_DAL.Member(); curr_user = userManager.getMemberByUserName(User.Identity.Name); if (curr_user.active_playlist == 0) { hypster_tv_DAL.Playlist create_playlist = new hypster_tv_DAL.Playlist(); create_playlist.name = curr_user.username + "'s playlist"; create_playlist.userid = curr_user.id; string crtd = DateTime.Now.ToString("yyyyMMdd"); int crtd_i = 0; Int32.TryParse(crtd, out crtd_i); create_playlist.create_time = crtd_i; if (create_playlist.name.Length > 60) { create_playlist.name = create_playlist.name.Substring(0, 60); } hypDB.Playlists.AddObject(create_playlist); hypDB.SaveChanges(); List <hypster_tv_DAL.Playlist> playlists_list = playlistManagement.GetUserPlaylists(curr_user.id); if (playlists_list.Count > 0) { curr_user.active_playlist = playlists_list[0].id; userManager.SetUserDefaultPlaylist(User.Identity.Name, curr_user.id, curr_user.active_playlist); } //else error - need to have dafult playlist } //----------------------------------------------------------------------------------------- //check if user selected playlist //----------------------------------------------------------------------------------------- if (Sel_Playlist_ID == null) { Sel_Playlist_ID = curr_user.active_playlist.ToString(); } //----------------------------------------------------------------------------------------- // get last sort_number //----------------------------------------------------------------------------------------- short Sel_Sort_Order = 0; playlistManagement.IncrementPlaylistSongOrder(curr_user.id, Convert.ToInt32(Sel_Playlist_ID)); //set sort order to first position Sel_Sort_Order = 1; //----------------------------------------------------------------------------------------- //get song by guid //----------------------------------------------------------------------------------------- hypster_tv_DAL.Song song = new hypster_tv_DAL.Song(); song = songsManager.GetSongByGUID(Song_Guid); //----------------------------------------------------------------------------------------- if (Song_Title.Length > 75) { Song_Title = Song_Title.Substring(0, 75); } //----------------------------------------------------------------------------------------- if (song.id == 0) //add new song { var youtubeService = new YouTubeService(new BaseClientService.Initializer() { ApiKey = System.Configuration.ConfigurationManager.AppSettings["YouTubeAPIKEY"], ApplicationName = System.Configuration.ConfigurationManager.AppSettings["YouTubeAPIKEYName"] }); var searchListRequest = youtubeService.Search.List("id,snippet"); searchListRequest.Q = Song_Guid; // Replace with your search term. searchListRequest.MaxResults = 1; var searchListResponse = searchListRequest.Execute(); SearchResult video = new SearchResult(); foreach (var searchResult in searchListResponse.Items) { switch (searchResult.Id.Kind) { case "youtube#video": video = searchResult; break; } } //need to modify to add more song params hypster_tv_DAL.Song new_song = new hypster_tv_DAL.Song(); new_song.Title = Song_Title; new_song.YoutubeId = Song_Guid; new_song.adddate = DateTime.Now; new_song.YoutubeProcessed = false; new_song.Author = ""; new_song.Rating = 1; new_song.Syndication = 1; hypDB.Songs.AddObject(new_song); hypDB.SaveChanges(); //get newely added song song = songsManager.GetSongByGUID(Song_Guid); //add to playlist data hypster_tv_DAL.PlaylistData new_playlistData = new hypster_tv_DAL.PlaylistData(); new_playlistData.playlist_id = Convert.ToInt32(Sel_Playlist_ID); new_playlistData.songid = song.id; new_playlistData.sortid = Sel_Sort_Order; new_playlistData.userid = userManager.getMemberByUserName(User.Identity.Name).id; hypDB.PlaylistDatas.AddObject(new_playlistData); hypDB.SaveChanges(); } else //if song exist in database { //add to playlist data hypster_tv_DAL.PlaylistData new_playlistData = new hypster_tv_DAL.PlaylistData(); new_playlistData.playlist_id = Convert.ToInt32(Sel_Playlist_ID); new_playlistData.songid = song.id; new_playlistData.sortid = Sel_Sort_Order; new_playlistData.userid = curr_user.id; hypDB.PlaylistDatas.AddObject(new_playlistData); hypDB.SaveChanges(); } return("A New Song, " + Song_Title + " (ID: " + Song_Guid + ") has been added to the Playlist, " + playlistManagement.GetPlaylistById(Convert.ToInt32(Sel_Playlist_ID))[0].name); //return RedirectPermanent("/Editors/managePlaylist/?playlist_id=" + Sel_Playlist_ID); }