public ActionResult AddNewCloneChart(string ChartGuid, string ChartName, string ChartDesc, string ChartDate, int UserID, string existingChartGuid)
        {
            if (Session["Roles"] != null && Session["Roles"].Equals("Admin"))
            {
                hypster_tv_DAL.chartsManager      chartManager    = new hypster_tv_DAL.chartsManager();
                hypster_tv_DAL.playlistManagement playlistManager = new hypster_tv_DAL.playlistManagement();
                if (chartManager.GetChartByGuid(ChartGuid).Chart_ID == 0)
                {
                    //create cloned chart
                    hypster_tv_DAL.Chart newClonedChart = new hypster_tv_DAL.Chart();
                    newClonedChart.Chart_GUID    = ChartGuid;
                    newClonedChart.Chart_Name    = ChartName;
                    newClonedChart.Chart_Desc    = ChartDesc;
                    newClonedChart.Chart_Date    = ChartDate;
                    newClonedChart.Chart_User_ID = UserID;
                    //get existing chart
                    hypster_tv_DAL.Chart existing_chart = new hypster_tv_DAL.Chart();
                    existing_chart = chartManager.GetChartByGuid(existingChartGuid);
                    //get existing songs for cloning
                    List <hypster_tv_DAL.PlaylistData_Song> existing_songs = new List <hypster_tv_DAL.PlaylistData_Song>();
                    existing_songs = playlistManager.GetSongsForPlayList((int)existing_chart.Chart_User_ID, (int)existing_chart.Chart_Playlist_ID);
                    //clone playlist
                    hypster_tv_DAL.Playlist existing_playlist = new hypster_tv_DAL.Playlist();
                    existing_playlist = playlistManager.GetUserPlaylistById((int)existing_chart.Chart_User_ID, (int)existing_chart.Chart_Playlist_ID);
                    hypster_tv_DAL.Playlist new_playlist = new hypster_tv_DAL.Playlist();
                    new_playlist.create_time        = 0;
                    new_playlist.is_artist_playlist = false;
                    new_playlist.name        = existing_playlist.name + " CLONE";
                    new_playlist.update_time = 0;
                    new_playlist.userid      = existing_playlist.userid;
                    new_playlist.ViewsNum    = 0;
                    new_playlist.Likes       = 0;
                    int new_playlist_id = playlistManager.AddNewPlaylist(new_playlist);
                    //assign to chart new cloned playlist
                    newClonedChart.Chart_Playlist_ID = new_playlist_id;
                    //clone songs
                    List <hypster_tv_DAL.PlaylistData_Song> new_songs = new List <hypster_tv_DAL.PlaylistData_Song>();
                    hypster_tv_DAL.Hypster_Entities         hypDB     = new hypster_tv_DAL.Hypster_Entities();
                    foreach (var item in existing_songs)
                    {
                        hypster_tv_DAL.PlaylistData song = new hypster_tv_DAL.PlaylistData();
                        song.playlist_id = new_playlist_id;
                        song.userid      = new_playlist.userid;
                        song.sortid      = item.sortid;
                        song.songid      = (int)item.id;

                        hypDB.PlaylistDatas.AddObject(song);
                        hypDB.SaveChanges();
                    }
                    //add new cloned chart (after playlist cloned)
                    chartManager.AddNewChart(newClonedChart);
                }
                return(RedirectPermanent("/WebsiteManagement/manageCharts"));
            }
            else
            {
                return(RedirectPermanent("/home/"));
            }
        }
        //----------------------------------------------------------------------------------------------------------



        //----------------------------------------------------------------------------------------------------------
        //authentitication implemented inside (ajax call)
        public ActionResult getPlaylistDetailsEdt()
        {
            //--------------------------------------------------------------------------------------------
            if (User.Identity.IsAuthenticated == false)
            {
                return(RedirectPermanent("/account/SignIn"));
            }
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            List <hypster_tv_DAL.PlaylistData_Song> songs_list = new List <hypster_tv_DAL.PlaylistData_Song>();

            int playlist_id = 0;

            if (Request.QueryString["PL_ID"] != null && Int32.TryParse(Request.QueryString["PL_ID"], out playlist_id) == true)
            {
                ViewBag.Playlist = playlist_id;

                hypster_tv_DAL.memberManagement   memberManager   = new hypster_tv_DAL.memberManagement();
                hypster_tv_DAL.playlistManagement playlistManager = new hypster_tv_DAL.playlistManagement();

                hypster_tv_DAL.Member curr_user = new hypster_tv_DAL.Member();
                curr_user = memberManager.getMemberByUserName(User.Identity.Name);


                List <hypster_tv_DAL.Playlist> playlists_list = new List <hypster_tv_DAL.Playlist>();
                playlists_list = playlistManager.GetUserPlaylists(curr_user.id);


                foreach (var item in playlists_list)
                {
                    if (playlist_id == item.id) //check if playlist belong to user
                    {
                        hypster.ViewModels.getAccountInfo_PublicViewModel model = new ViewModels.getAccountInfo_PublicViewModel();
                        songs_list = playlistManager.GetSongsForPlayList(curr_user.id, playlist_id);
                    }
                }
            }
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            if (Request.QueryString["PL_TYPE"] != null)
            {
                ViewBag.PlayerType = Request.QueryString["PL_TYPE"];
            }
            //--------------------------------------------------------------------------------------------


            return(View(songs_list));
        }
        //----------------------------------------------------------------------------------------------------------



        //----------------------------------------------------------------------------------------------------------
        //authentitication implemented inside (ajax call)
        public ActionResult getPlaylistDetailsPlayer()
        {
            //--------------------------------------------------------------------------------------------
            // CAN BE ANONYMOUS
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            List <hypster_tv_DAL.PlaylistData_Song> songs_list = new List <hypster_tv_DAL.PlaylistData_Song>();

            int user_id = 0;

            if (Request.QueryString["US_ID"] != null)
            {
                Int32.TryParse(Request.QueryString["US_ID"], out user_id);
            }
            else
            {
                hypster_tv_DAL.memberManagement memberManager = new hypster_tv_DAL.memberManagement();
                hypster_tv_DAL.Member           curr_user     = new hypster_tv_DAL.Member();
                curr_user = memberManager.getMemberByUserName(User.Identity.Name);
                user_id   = curr_user.id;
            }
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            int playlist_id = 0;

            if (Request.QueryString["PL_ID"] != null && Int32.TryParse(Request.QueryString["PL_ID"], out playlist_id) == true)
            {
                hypster_tv_DAL.playlistManagement playlistManager       = new hypster_tv_DAL.playlistManagement();
                hypster.ViewModels.getAccountInfo_PublicViewModel model = new ViewModels.getAccountInfo_PublicViewModel();


                if (Request.QueryString["Sort"] != null && Request.QueryString["Sort"] != "")
                {
                    songs_list = playlistManager.GetSongsForPlayList_Random(user_id, playlist_id);
                }
                else
                {
                    songs_list = playlistManager.GetSongsForPlayList(user_id, playlist_id);
                }
            }
            //--------------------------------------------------------------------------------------------



            return(View(songs_list));
        }
예제 #4
0
        public ActionResult Index()
        {
            hypster_admin.Areas.Editors.ViewModels.PlaylistViewModel model = new hypster_admin.Areas.Editors.ViewModels.PlaylistViewModel();
            hypster_tv_DAL.memberManagement   memberManager   = new hypster_tv_DAL.memberManagement();
            hypster_tv_DAL.playlistManagement playlistManager = new hypster_tv_DAL.playlistManagement();
            hypster_tv_DAL.memberManagement   userManager     = new hypster_tv_DAL.memberManagement();
            hypster_tv_DAL.songsManagement    songsManager    = new hypster_tv_DAL.songsManagement();
            model.member   = memberManager.getMemberByUserName(User.Identity.Name);
            model.playlist = playlistManager.GetUserPlaylists(model.member.id);

            int playlist_id = 0;

            if (Request.QueryString["playlist_id"] != null)
            {
                playlist_id = Convert.ToInt32(Request.QueryString["playlist_id"]);
            }
            else
            {
                playlist_id = model.member.active_playlist;
            }

            foreach (var item in model.playlist)
            {
                if (item.id == playlist_id)
                {
                    ViewBag.ActivePlaylistName = item.name;
                    ViewBag.ActivePlaylistID   = item.id;
                }
            }

            if (playlist_id != 0)
            {
                model.playlistData_Song = playlistManager.GetSongsForPlayList(model.member.id, playlist_id);
            }

            hypster_tv_DAL.TagManagement tagManager = new hypster_tv_DAL.TagManagement();
            if (playlist_id != 0)
            {
                model.tags_list = tagManager.GetPlaylistTags(playlist_id);
            }
            else
            {
                model.tags_list = tagManager.GetPlaylistTags(model.member.active_playlist);
            }

            ViewBag.TotalResults = model.playlistData_Song.Count;
            //ViewBag.PageSize = 20;
            return(View(model));
        }
예제 #5
0
        //----------------------------------------------------------------------------------------------------------



        //----------------------------------------------------------------------------------------------------------
        // music player popup
        // this logic open player with playlists, songs, and other player related stuff
        public ActionResult MPL()
        {
            // 1.genral declarations
            //--------------------------------------------------------------------------------------------
            hypster_tv_DAL.playlistManagement playlistManager = new hypster_tv_DAL.playlistManagement();
            hypster_tv_DAL.memberManagement   memberManager   = new hypster_tv_DAL.memberManagement();
            //--------------------------------------------------------------------------------------------



            // 2.get requested media type (playlist, single song, default palylist)
            //--------------------------------------------------------------------------------------------
            string MEDIA_TYPE = "";

            if (Request.QueryString["media_type"] != null)
            {
                MEDIA_TYPE         = Request.QueryString["media_type"];
                ViewBag.MEDIA_TYPE = MEDIA_TYPE;
            }
            else
            {
                ViewBag.MEDIA_TYPE = "";
            }
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            hypster_tv_DAL.Member member = new hypster_tv_DAL.Member();
            if (Request.QueryString["us_id"] != null)
            {
                ViewBag.UserID = Request.QueryString["us_id"];
                int us_id = 0;
                Int32.TryParse(Request.QueryString["us_id"], out us_id);
                if (us_id > 0)
                {
                    member = memberManager.getMemberByID(us_id);
                }
            }
            else
            {
                if (User.Identity.IsAuthenticated)
                {
                    member         = memberManager.getMemberByUserName(User.Identity.Name);
                    ViewBag.UserID = member.id;
                }
            }
            //--------------------------------------------------------------------------------------------



            // 3.parse media type
            //--------------------------------------------------------------------------------------------
            hypster.ViewModels.videoPlayerViewModel model = new ViewModels.videoPlayerViewModel();

            switch (MEDIA_TYPE)
            {
            //
            //display requested playlist
            case "playlist":
                int PLAYLIST_ID = 0;
                if (Request.QueryString["playlist_id"] != null)
                {
                    if (Int32.TryParse(Request.QueryString["playlist_id"], out PLAYLIST_ID) == false)
                    {
                        PLAYLIST_ID = 0;
                    }
                }

                playlistManager.AddPlaylistView(PLAYLIST_ID);

                if (ViewBag.UserID != null && PLAYLIST_ID != null)
                {
                    model.songs_list = playlistManager.GetSongsForPlayList(Int32.Parse(ViewBag.UserID.ToString()), (int)PLAYLIST_ID);
                }

                ViewBag.PlaylistID = PLAYLIST_ID;
                break;

            //
            //display single song
            case "":

                ViewBag.MEDIA_TYPE = "song";


                string SongGuid = "";
                if (Request.QueryString["song_guid"] != null)
                {
                    SongGuid         = Request.QueryString["song_guid"];
                    ViewBag.SongGuid = SongGuid.Replace("&", "amp;");
                }


                string SongTitle = "";
                if (Request.QueryString["song_title"] != null)
                {
                    SongTitle         = Request.QueryString["song_title"];
                    ViewBag.SongTitle = SongTitle.Replace("&", "amp;");
                }



                hypster_tv_DAL.PlaylistData_Song song = new hypster_tv_DAL.PlaylistData_Song();
                song.YoutubeId = SongGuid;
                song.Title     = SongTitle;

                model.songs_list.Add(song);



                if (model.songs_list.Count > 0)
                {
                    ViewBag.SongGuid = model.songs_list[0].YoutubeId;
                }
                break;



            //
            //display default palylist
            case "DEFPL":
                ViewBag.MEDIA_TYPE = "playlist";
                int PLAYLIST_ID_DEF = member.active_playlist;

                playlistManager.AddPlaylistView(member.active_playlist);

                if (ViewBag.UserID != null && PLAYLIST_ID_DEF != null)
                {
                    model.songs_list = playlistManager.GetSongsForPlayList(Int32.Parse(ViewBag.UserID.ToString()), (int)PLAYLIST_ID_DEF);
                }

                ViewBag.PlaylistID = member.active_playlist;
                ViewBag.UserID     = member.id;
                break;



            //
            //display default palylist
            case "Radio":
                ViewBag.MEDIA_TYPE = "radio";


                string Genre_str = "";
                if (Request.QueryString["Genre"] != null)
                {
                    Genre_str     = Request.QueryString["Genre"];
                    Genre_str     = Genre_str.Replace("&", "amp;");
                    ViewBag.Genre = Genre_str;
                }


                #region GET_RADIO_GENRE
                int G_User = 0;
                int G_Plst = 0;
                switch (Genre_str)
                {
                case "Dance":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Dance"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Dance"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Jazz":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Jazz"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Jazz"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Bluegrass":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Bluegrass"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Bluegrass"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Classical":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Classical"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Classical"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Reggae":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Reggae"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Reggae"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Rap":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Rap"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Rap"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Rock":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Rock"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Rock"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Soundtrack":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Soundtrack"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Soundtrack"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Blues":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Blues"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Blues"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Pop":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Pop"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Pop"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Country":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Country"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Country"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;



                case "Opera":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Opera"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Opera"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Hip-Hop":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_HipHop"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_HipHop"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Latin":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Latin"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Latin"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Electronic":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Electronic"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Electronic"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "R&B":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_RandB"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_RandB"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "NewAge":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_NewAge"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_NewAge"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Folk":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Folk"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Folk"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "J-Pop":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_JPop"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_JPop"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Soul":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Soul"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Soul"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Instrumental":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Instrumental"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Instrumental"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Adult Contemporary":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_AdultContemp"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_AdultContemp"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;

                case "Alternative":
                    G_User = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_User_Alternative"]);
                    G_Plst = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["Radio_Plst_Alternative"]);
                    playlistManager.AddPlaylistView(member.active_playlist);
                    model.songs_list = playlistManager.GetSongsForPlayList(G_User, G_Plst);
                    break;



                default:         //if custom search started

                    string search_str = "";
                    if (Request.QueryString["search"] != null)
                    {
                        search_str     = Request.QueryString["search"];
                        ViewBag.search = search_str;
                    }
                    YouTubeRequestSettings settings = new YouTubeRequestSettings("hypster", "AI39si5TNjKgF6yiHwUhKbKwIui2JRphXG4hPXUBdlrNh4XMZLXu--lf66gVSPvks9PlWonEk2Qv9fwiadpNbiuh-9TifCNsqA");
                    YouTubeRequest         request  = new YouTubeRequest(settings);

                    int this_page = 1;
                    for (this_page = 1; this_page < 10; this_page++)
                    {
                        string       feedUrl   = "http://gdata.youtube.com/feeds/api/videos?q=" + Genre_str + "&category=Music&format=5&restriction=" + Request.ServerVariables["REMOTE_ADDR"] + "&safeSearch=none&start-index=" + ((this_page * 25) - 24) + "&orderby=viewCount";
                        Feed <Video> videoFeed = request.Get <Video>(new Uri(feedUrl));
                        foreach (Video item in videoFeed.Entries)
                        {
                            hypster_tv_DAL.PlaylistData_Song song_add1 = new hypster_tv_DAL.PlaylistData_Song();
                            song_add1.YoutubeId = item.VideoId;
                            song_add1.Title     = item.Title;
                            model.songs_list.Add(song_add1);
                        }
                    }
                    break;
                }
                #endregion

                ViewBag.UserID     = G_User;
                ViewBag.PlaylistID = G_Plst;



                break;



            default:
                break;
            }
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            if (member.id != 0)
            {
                model.userPlaylists_list = playlistManager.GetUserPlaylists(member.id);
            }
            //--------------------------------------------------------------------------------------------



            return(View(model));
        }
예제 #6
0
        public ActionResult playlist()
        {
            hypster.ViewModels.createPlaylist_ViewModel model = new ViewModels.createPlaylist_ViewModel();


            // 1.general declarations
            //-----------------------------------------------------------------------------------------------------
            hypster_tv_DAL.memberManagement   memberManager   = new hypster_tv_DAL.memberManagement();
            hypster_tv_DAL.playlistManagement playlistManager = new hypster_tv_DAL.playlistManagement();
            hypster_tv_DAL.memberManagement   userManager     = new hypster_tv_DAL.memberManagement();
            hypster_tv_DAL.songsManagement    songsManager    = new hypster_tv_DAL.songsManagement();


            model.curr_user = memberManager.getMemberByUserName(User.Identity.Name);
            //-----------------------------------------------------------------------------------------------------



            // 2.proccess user actions if any
            //-----------------------------------------------------------------------------------------------------
            // process user actions
            if (Request.QueryString["ACT"] != null)
            {
                switch (Request.QueryString["ACT"].ToString())
                {
                //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                case "delete_playlist":
                    int d_playlist_id = 0;
                    if (Int32.TryParse(Request.QueryString["playlist_id"], out d_playlist_id) == false)
                    {
                        d_playlist_id = 0;
                    }

                    if (d_playlist_id != 0)
                    {
                        playlistManager.Delete_Playlist(model.curr_user.id, d_playlist_id);
                        return(RedirectPermanent("/create/playlist"));
                    }
                    break;
                //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



                //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                case "delete_song":
                    int d_song_id = 0;
                    if (Int32.TryParse(Request.QueryString["song_id"], out d_song_id) == false)
                    {
                        d_song_id = 0;
                    }


                    string pl_id = "";
                    if (Request.QueryString["playlist_id"] != null)
                    {
                        pl_id = Request.QueryString["playlist_id"].ToString();
                    }


                    if (d_song_id != 0)
                    {
                        playlistManager.DeleteSong(model.curr_user.id, d_song_id);
                        return(RedirectPermanent("/create/playlist?playlist_id=" + pl_id));
                    }
                    break;
                //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



                //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                case "delete_song_plr":
                    int d_song_id1 = 0;
                    if (Int32.TryParse(Request.QueryString["song_id"], out d_song_id1) == false)
                    {
                        d_song_id1 = 0;
                    }

                    if (d_song_id1 != 0)
                    {
                        playlistManager.DeleteSong(model.curr_user.id, d_song_id1);

                        if (Request.QueryString["ret_url"] == null)
                        {
                            return(RedirectPermanent("/create/playlist"));
                        }
                        else
                        {
                            return(RedirectPermanent("/create/playlist"));
                        }
                    }
                    break;
                //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


                default:
                    break;
                }
            }
            //-----------------------------------------------------------------------------------------------------



            // 3.prepare output model
            //-----------------------------------------------------------------------------------------------------
            //hypster.ViewModels.AccountPlaylistsViewModel model = new ViewModels.AccountPlaylistsViewModel();
            //model.curr_user = member_user;
            model.userPlaylists_list = playlistManager.GetUserPlaylists(model.curr_user.id);
            //-----------------------------------------------------------------------------------------------------



            // 4. get current requested playlist id
            // if no playlist selected display default
            //-----------------------------------------------------------------------------------------------------
            int playlist_id = 0;

            if (Request.QueryString["playlist_id"] != null)
            {
                if (Int32.TryParse(Request.QueryString["playlist_id"], out playlist_id) == false)
                {
                    playlist_id = 0;
                }
            }
            else
            {
                playlist_id = model.curr_user.active_playlist;
            }
            //-----------------------------------------------------------------------------------------------------



            // 5.get selected playlist details
            //-----------------------------------------------------------------------------------------------------
            foreach (var item in model.userPlaylists_list)
            {
                if (item.id == playlist_id)
                {
                    ViewBag.ActivePlaylistName = item.name;
                    ViewBag.ActivePlaylistID   = item.id;
                }
            }
            //-----------------------------------------------------------------------------------------------------



            // 6.get songs for selected playlist
            //-----------------------------------------------------------------------------------------------------
            if (playlist_id != 0)
            {
                model.userActivePlaylist_Songs_list = playlistManager.GetSongsForPlayList(model.curr_user.id, playlist_id);
            }
            else
            {
                model.userActivePlaylist_Songs_list = playlistManager.GetSongsForPlayList(model.curr_user.id, model.curr_user.active_playlist);
            }
            //-----------------------------------------------------------------------------------------------------



            return(View(model));
        }
        //----------------------------------------------------------------------------------------------------------



        //----------------------------------------------------------------------------------------------------------
        //authentitication implemented inside (ajax call)
        public ActionResult AddToPlayListPopup()
        {
            //--------------------------------------------------------------------------------------------
            if (User.Identity.IsAuthenticated == false)
            {
                return(Content(""));
            }
            //--------------------------------------------------------------------------------------------



            // 1.genral declarations
            //--------------------------------------------------------------------------------------------
            hypster_tv_DAL.memberManagement userManager = new hypster_tv_DAL.memberManagement();
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            hypster.ViewModels.AddToPlayListViewModel model = new ViewModels.AddToPlayListViewModel();

            //get curr user
            hypster_tv_DAL.Member curr_user = new hypster_tv_DAL.Member();
            curr_user = userManager.getMemberByUserName(User.Identity.Name);


            if (Request.QueryString["song_title"] != null)
            {
                ViewBag.song_title = Request.QueryString["song_title"];
            }

            if (Request.QueryString["song_guid"] != null)
            {
                ViewBag.song_guid = Request.QueryString["song_guid"];
            }


            int PLAYLIST_ID = 0;

            PLAYLIST_ID = curr_user.active_playlist;

            hypster_tv_DAL.playlistManagement playlistManager = new hypster_tv_DAL.playlistManagement();
            model.songs_list = playlistManager.GetSongsForPlayList(curr_user.id, PLAYLIST_ID);

            model.playlists_list = playlistManager.GetUserPlaylists(curr_user.id);

            model.curr_user = curr_user;
            //--------------------------------------------------------------------------------------------



            // NEED TO CHECK HERE
            //--------------------------------------------------------------------------------------------
            foreach (var item in model.playlists_list)
            {
                if (PLAYLIST_ID == item.id)
                {
                    ViewBag.Playlist_ID   = item.id;
                    ViewBag.Playlist_Name = item.name;
                }
            }
            //--------------------------------------------------------------------------------------------



            return(View(model));
        }
        //----------------------------------------------------------------------------------------------------------



        //----------------------------------------------------------------------------------------------------------
        // apply order to playlist songs
        //
        //authentitication implemented inside (ajax call)
        public string applyOrder()
        {
            //--------------------------------------------------------------------------------------------
            if (User.Identity.IsAuthenticated == false)
            {
                return("not authorized");
            }
            //--------------------------------------------------------------------------------------------



            // 1.parse parameters
            //--------------------------------------------------------------------------------------------
            int  SONG_ID       = 0;
            int  SONG_ORDER    = 0;
            int  ACTIVE_PL     = 0;
            bool params_parsed = true;

            if (Request.QueryString["SONG_ID"] != null && Int32.TryParse(Request.QueryString["SONG_ID"], out SONG_ID) == false)
            {
                params_parsed = false;
            }

            if (Request.QueryString["SONG_ORDER"] != null && Int32.TryParse(Request.QueryString["SONG_ORDER"], out SONG_ORDER) == false)
            {
                params_parsed = false;
            }

            if (Request.QueryString["ACTIVE_PL"] != null && Int32.TryParse(Request.QueryString["ACTIVE_PL"], out ACTIVE_PL) == false)
            {
                params_parsed = false;
            }
            //--------------------------------------------------------------------------------------------



            //--------------------------------------------------------------------------------------------
            if (params_parsed == true)
            {
                hypster_tv_DAL.memberManagement memberManager = new hypster_tv_DAL.memberManagement();
                hypster_tv_DAL.Member           curr_user     = new hypster_tv_DAL.Member();
                curr_user = memberManager.getMemberByUserName(User.Identity.Name);


                hypster_tv_DAL.playlistManagement       playlistsManagement = new hypster_tv_DAL.playlistManagement();
                List <hypster_tv_DAL.PlaylistData_Song> songs_list          = new List <hypster_tv_DAL.PlaylistData_Song>();
                songs_list = playlistsManagement.GetSongsForPlayList(curr_user.id, ACTIVE_PL);



                int UPD_INDEX = -1;
                int i_count   = 0;
                hypster_tv_DAL.PlaylistData_Song i_currSong = new hypster_tv_DAL.PlaylistData_Song();



                //2. find position of where new link will be located
                //**************************************************************************************************************************
                i_count = 0;
                foreach (hypster_tv_DAL.PlaylistData_Song item in songs_list)
                {
                    if (item.playlist_track_id == SONG_ID)
                    {
                        int add_ind = 0;
                        if (SONG_ORDER > 0)
                        {
                            add_ind = 1;
                        }


                        UPD_INDEX  = i_count + SONG_ORDER + add_ind;
                        i_currSong = item;

                        break;
                    }

                    i_count++;
                }
                //**************************************************************************************************************************



                bool update_order = false;


                //3. get to position of new element and start updating new order
                //**************************************************************************************************************************
                List <hypster_tv_DAL.PlaylistData_Song> upd_links_arr = new List <hypster_tv_DAL.PlaylistData_Song>();
                i_count = 0;
                foreach (hypster_tv_DAL.PlaylistData_Song ii_item in songs_list)
                {
                    //inc next items order
                    if (update_order == true)
                    {
                        if (ii_item.playlist_track_id != SONG_ID)
                        {
                            ii_item.sortid += 1;
                            upd_links_arr.Add(ii_item);
                        }
                    }


                    //find start element
                    if (UPD_INDEX == i_count)
                    {
                        i_currSong.sortid = ii_item.sortid;
                        upd_links_arr.Add(i_currSong);
                        update_order = true;


                        ii_item.sortid += 1;
                        upd_links_arr.Add(ii_item);
                    }


                    i_count++;
                }
                playlistsManagement.Update_CustomOrder(curr_user.id, upd_links_arr);
                //**************************************************************************************************************************
            }
            //--------------------------------------------------------------------------------------------



            return("true");
        }
예제 #9
0
        public ActionResult delelePlaylistSong()
        {
            hypster_admin.Areas.Editors.ViewModels.PlaylistViewModel model = new hypster_admin.Areas.Editors.ViewModels.PlaylistViewModel();
            hypster_tv_DAL.memberManagement   memberManager   = new hypster_tv_DAL.memberManagement();
            hypster_tv_DAL.playlistManagement playlistManager = new hypster_tv_DAL.playlistManagement();
            hypster_tv_DAL.memberManagement   userManager     = new hypster_tv_DAL.memberManagement();
            hypster_tv_DAL.songsManagement    songsManager    = new hypster_tv_DAL.songsManagement();
            model.member = memberManager.getMemberByUserName(User.Identity.Name);

            if (Request.QueryString["ACT"] != null)
            {
                switch (Request.QueryString["ACT"].ToString())
                {
                case "delete_playlist":
                    int d_playlist_id = 0;
                    if (Int32.TryParse(Request.QueryString["playlist_id"], out d_playlist_id) == false)
                    {
                        d_playlist_id = 0;
                    }
                    if (d_playlist_id != 0)
                    {
                        playlistManager.Delete_Playlist(model.member.id, d_playlist_id);
                        //check if this playlist is default
                        if (model.member.active_playlist == d_playlist_id)
                        {
                            memberManager.SetUserDefaultPlaylist(User.Identity.Name, model.member.id, 0);
                        }
                        return(RedirectPermanent("/Editors/managePlaylist/"));
                    }
                    break;

                case "delete_song":
                    int d_song_id = 0;
                    if (Int32.TryParse(Request.QueryString["song_id"], out d_song_id) == false)
                    {
                        d_song_id = 0;
                    }
                    string pl_id = "";
                    if (Request.QueryString["playlist_id"] != null)
                    {
                        pl_id = Request.QueryString["playlist_id"].ToString();
                    }
                    if (d_song_id != 0)
                    {
                        playlistManager.DeleteSong(model.member.id, d_song_id);
                        return(RedirectPermanent("/Editors/managePlaylist/?playlist_id=" + pl_id));
                    }
                    break;

                case "delete_song_plr":
                    int d_song_id1 = 0;
                    if (Int32.TryParse(Request.QueryString["song_id"], out d_song_id1) == false)
                    {
                        d_song_id1 = 0;
                    }

                    if (d_song_id1 != 0)
                    {
                        playlistManager.DeleteSong(model.member.id, d_song_id1);
                        return(RedirectPermanent("/Editors/managePlaylist/"));
                    }
                    break;

                default:
                    break;
                }
            }

            model.playlist = playlistManager.GetUserPlaylists(model.member.id);

            int playlist_id = 0;

            if (Request.QueryString["playlist_id"] != null)
            {
                if (Int32.TryParse(Request.QueryString["playlist_id"], out playlist_id) == false)
                {
                    playlist_id = 0;
                }
            }
            else
            {
                playlist_id = model.member.active_playlist;
            }

            foreach (var item in model.playlist)
            {
                if (item.id == playlist_id)
                {
                    ViewBag.ActivePlaylistName = item.name;
                    ViewBag.ActivePlaylistID   = item.id;
                }
            }

            if (playlist_id != 0)
            {
                model.playlistData_Song = playlistManager.GetSongsForPlayList(model.member.id, playlist_id);
            }
            else
            {
                model.playlistData_Song = playlistManager.GetSongsForPlayList(model.member.id, model.member.active_playlist);
            }

            hypster_tv_DAL.TagManagement tagManager = new hypster_tv_DAL.TagManagement();
            if (playlist_id != 0)
            {
                model.tags_list = tagManager.GetPlaylistTags(playlist_id);
            }
            else
            {
                model.tags_list = tagManager.GetPlaylistTags(model.member.active_playlist);
            }

            return(View(model));
        }