Esempio n. 1
0
        public bool AddToFavourites(string userId, int songId)
        {
            var user = this.DbContext
                       .Users
                       .FirstOrDefault(x => x.Id == userId);

            var song = this.DbContext
                       .Songs
                       .FirstOrDefault(x => x.Id == songId);

            if (user == null || song == null)
            {
                return(false);
            }

            var userSong = new UserSongs()
            {
                UserId = userId,
                SongId = songId,
                AddedToFavouritesOn = DateTime.UtcNow
            };

            bool alreadyInFavourites = this.DbContext.FavouriteUserSongs
                                       .Any(x => x.UserId == userId && x.SongId == songId);

            if (alreadyInFavourites)
            {
                return(false);
            }

            user.FavouriteSongs.Add(userSong);
            this.DbContext.SaveChanges();

            return(true);
        }
        /// <summary>
        /// Method fills the list dedicated to the coresponding window.
        /// </summary>
        public void FillList(User user)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString()))
            {
                SqlCommand query = new SqlCommand("select * from tblSong s where s.UserID = @UserID;", conn);
                query.Parameters.AddWithValue("@UserId", user.Id);
                conn.Open();
                SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(query);
                DataTable      dataTable      = new DataTable();
                sqlDataAdapter.Fill(dataTable);

                if (UserSongs == null)
                {
                    UserSongs = new ObservableCollection <Song>();
                }

                foreach (DataRow row in dataTable.Rows)
                {
                    Song s = new Song
                    {
                        Id     = int.Parse(row[0].ToString()),
                        Title  = row[1].ToString(),
                        Author = row[2].ToString(),
                        Length = TimeSpan.Parse(row[3].ToString())
                    };
                    UserSongs.Add(s);
                }
            }
        }
        public void DeleteSong()
        {
            var con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());

            con.Open();
            var cmd = new SqlCommand("delete from tblSong where SongID = @SongID;", con);

            cmd.Parameters.AddWithValue("@SongID", song.Id);
            cmd.ExecuteNonQuery();
            con.Close();
            con.Dispose();
            UserSongs.Remove(song);
            var messageBoxResult = System.Windows.MessageBox.Show("Delete Successfull", "Notification");
        }