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"); }