コード例 #1
0
        /// <summary>
        /// 从数据库读取任一歌单内容,返回歌单内所有音乐信息
        /// </summary>
        /// <param name="musicList"></param>
        /// <returns></returns>
        public MusicList GetMusicList(MusicList musicList)
        {
            try
            {
                string          sql = "SELECT * FROM musiclistinfo WHERE user_id = '" + musicList.User_Id + "' and Listname = '" + musicList.ListName + "'";
                MySqlDataReader rd  = Read(sql);
                while (rd.Read())
                {
                    string filename    = rd["Fileurl"].ToString().Replace("/", "\\");
                    string musicname   = rd["musicname"].ToString();
                    string musicsinger = rd["musicsinger"].ToString();
                    string musicalbum  = rd["musicalbum"].ToString();
                    Music  music       = new Music(musicname, musicsinger, musicalbum, filename);
                    musicList.Add(music);
                }
                rd.Close();
                return(musicList);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(null);
            }
        }
コード例 #2
0
        /// <summary>
        /// 从数据库读取用户歌单信息
        /// </summary>
        /// <returns></returns>
        public List <MusicList> GetAllMusicList(User user)
        {
            try
            {
                string          sql       = "SELECT Listname FROM user_musiclist_info WHERE user_id = '" + user.User_Id + "'";
                MySqlDataReader rd        = Read(sql);
                List <string>   listNames = new List <string>();
                while (rd.Read())
                {
                    listNames.Add(rd["Listname"].ToString());
                }
                rd.Close();
                List <MusicList> musicLists = new List <MusicList>();
                for (int i = 0; i < listNames.Count; i++)
                {
                    MusicList musicList = new MusicList(listNames[i], user.User_Id);
                    musicList.Musics = GetMusics(musicList);
                    musicLists.Add(musicList);
                }
                return(musicLists);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(null);
            }
        }
 public MLButton(MusicList musicList)
 {
     MusicList = musicList;
     FlatStyle = System.Windows.Forms.FlatStyle.Flat;
     Font      = new System.Drawing.Font("微軟正黑體 Light", 10F);
     Margin    = new System.Windows.Forms.Padding(0);
     Size      = new Size(160, 30);
     TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
     Cursor    = System.Windows.Forms.Cursors.Hand;
 }
コード例 #4
0
 /// <summary>
 /// 删除数据库中歌单
 /// </summary>
 /// <param name="musicList"></param>
 /// <returns></returns>
 public bool DeleteMusicList(MusicList musicList)
 {
     try
     {
         bool n = mDB.DeleteMusicList(musicList);
         CreatedMusicList.Remove(musicList.ListName);
         return(n);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message + ex.StackTrace);
         return(false);
     }
 }
コード例 #5
0
 public void ResetLogoutInfo()
 {
     try
     {
         IsLogin          = false;
         this.user        = new User();
         HistoryMusicList = new MusicList("播放历史");
         LikedMusicList   = new MusicList("我喜欢");
         AllMusicLists    = new List <MusicList>();
         CreatedMusicList = new Dictionary <string, int>();
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message + ex.StackTrace);
     }
 }
コード例 #6
0
        /// <summary>
        /// 删除数据库中指定歌单
        /// </summary>
        /// <param name="musicList"></param>
        /// <returns></returns>
        public bool DeleteMusicList(MusicList musicList)
        {
            try
            {
                string sql1 = "DELETE FROM musiclistinfo WHERE Listname = '" + musicList.ListName + "' and user_id = '" + musicList.User_Id + "'";
                int    n    = ExcuteNonQuery(sql1);
                string sql2 = "DELETE FROM user_musiclist_info WHERE Listname = '" + musicList.ListName + "' and user_id = '" + musicList.User_Id + "'";
                n += ExcuteNonQuery(sql2);
                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(false);
            }
        }
コード例 #7
0
        /// <summary>
        /// 修改数据库中歌单名,返回数据库操作所涉及的数据条数,失败返回-1
        /// </summary>
        /// <param name="musicList"></param>
        /// <param name="ListName"></param>
        public int UpdateMusicList(MusicList musicList, string ListName)
        {
            try
            {
                string sql1 = "UPDATE musiclistinfo SET Listname = '" + ListName + "' WHERE  user_id = '" + musicList.User_Id + "' and Listname = '" + musicList.ListName + "'";
                int    n    = ExcuteNonQuery(sql1);
                string sql2 = "UPDATE user_musiclist_info SET Listname = '" + ListName + "' WHERE  user_id = '" + musicList.User_Id + "' and Listname = '" + musicList.ListName + "'";
                n += ExcuteNonQuery(sql2);
                return(n);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(-1);
            }
        }
コード例 #8
0
        /// <summary>
        /// 修改数据库中对应的音乐表,返回操作涉及的项数,失败返回-1
        /// </summary>
        /// <param name="musicList">列表对象</param>
        /// <param name="music">音乐对象</param>
        /// <returns></returns>
        public int UpdateMusicList(MusicList musicList)
        {
            try
            {
                string        filepath = "";
                List <string> lines    = new List <string>();
                if (musicList.ListName.ToString() == "本地与下载")
                {
                    filepath = "../local/local.txt";
                    foreach (Music music in musicList.Musics)
                    {
                        lines.Add(WriteLocalMusic(music));
                    }
                    File.WriteAllLines(filepath, lines.ToArray());
                    return(0);
                }
                else if (musicList.ListName.ToString() == "播放列表")
                {
                    filepath = "../local/playing.txt";
                    foreach (Music music in musicList.Musics)
                    {
                        lines.Add(WriteLocalMusic(music));
                    }
                    File.WriteAllLines(filepath, lines.ToArray());
                    return(0);
                }
                else
                {
                    int    n    = 0;
                    string sql1 = "DELETE FROM musiclistinfo WHERE user_id = '" + musicList.User_Id + "' and Listname = '" + musicList.ListName + "'";
                    n += ExcuteNonQuery(sql1);
                    foreach (Music music in musicList.Musics)
                    {
                        string sql2 = "INSERT INTO musiclistinfo VALUES('" + musicList.ListName + "','" + musicList.User_Id + "','" + music.FileURL.Replace("\\", "/") + "') ON DUPLICATE KEY UPDATE Fileurl = '" + music.FileURL.Replace("\\", "/") + "'";
                        n += ExcuteNonQuery(sql2);
                    }
                    return(n);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(-1);
            }
        }
コード例 #9
0
        /// <summary>
        /// 更新对应歌单(MusicList)的相关信息
        /// </summary>
        /// <param name="musicList">歌单</param>
        public bool UpdateMusicList(MusicList musicList)
        {
            try
            {
                if (musicList != null)
                {
                    int n = 0;
                    n = mDB.UpdateMusicList(musicList);
                    return(n >= 0);
                }
                return(false);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(false);
            }
        }
コード例 #10
0
        /// <summary>
        /// 创建自定义歌单
        /// </summary>
        /// <param name="musicList"></param>
        /// <returns></returns>
        public bool CreateMusicList(MusicList musicList)
        {
            try
            {
                int n = 0;
                if (GetCreatedMusicListNumber() < ListLimits)
                {
                    n = mDB.CreateMusicList(musicList);
                    int i = AllMusicLists.Count();
                    AllMusicLists.Add(musicList);
                    CreatedMusicList.Add(musicList.ListName, i);
                }
                return(n >= 0);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(false);
            }
        }
コード例 #11
0
 /// <summary>
 /// 修改数据库中歌单名
 /// </summary>
 /// <param name="musicList"></param>
 /// <param name="ListName"></param>
 public bool UpdateMusicList(MusicList musicList, string ListName)
 {
     try
     {
         if (musicList != null)
         {
             int index = CreatedMusicList[musicList.ListName];
             CreatedMusicList.Remove(musicList.ListName);
             int n = mDB.UpdateMusicList(musicList, ListName);
             musicList.ListName            = ListName;
             AllMusicLists[index].ListName = ListName;
             CreatedMusicList.Add(musicList.ListName, index);
             return(n >= 0);
         }
         return(false);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message + ex.StackTrace);
         return(false);
     }
 }
コード例 #12
0
        /// <summary>
        /// 从本地读取歌单
        /// </summary>
        /// <returns></returns>
        public MusicList GetLocalMusicList(MusicList musicList)
        {
            try
            {
                FileInfo myFile;
                if (musicList.ListName.ToString() == "本地与下载")
                {
                    myFile = new FileInfo("../local/local.txt");
                }
                else
                {
                    myFile = new FileInfo("../local/playing.txt");
                }
                StreamReader sR       = myFile.OpenText();
                string       filename = "";
                string       nextLine;
                while ((nextLine = sR.ReadLine()) != null)
                {
                    filename += nextLine.TrimEnd('】').TrimStart('【').TrimEnd('\n');
                    if (nextLine.Last() == '】')
                    {
                        Music music = ReadLocalMusic(filename);
                        musicList.Add(music);
                        filename = "";
                    }
                }
                sR.Close();
                return(musicList);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(new MusicList());
            }
        }
コード例 #13
0
        /// <summary>
        /// 在数据库中添加新建歌单
        /// </summary>
        /// <param name="musicList"></param>
        /// <returns></returns>
        public int CreateMusicList(MusicList musicList)
        {
            try
            {
                int    n    = 0;
                string sql1 = "INSERT INTO user_musiclist_info VALUES('" + musicList.User_Id + "','" + musicList.ListName + "')";
                n += ExcuteNonQuery(sql1);
                foreach (Music music in musicList.Musics)
                {
                    if (music.FileURL != "")
                    {
                        string sql2 = "INSERT INTO musiclistinfo VALUES('" + musicList.ListName + "','" + musicList.User_Id + "','" + music.FileURL.Replace("\\", "/") + "') ON DUPLICATE KEY UPDATE Fileurl = '" + music.FileURL.Replace("\\", "/") + "'";
                        n += ExcuteNonQuery(sql2);
                    }
                }
                return(n);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);

                return(-1);
            }
        }