public static void SaveStatesToDatabase(List <SpotifyState> SpotifyStates, WorkTableState oWorkTableState) { DataTable dtArtists = new DataTable(); dtArtists.Columns.Add(new DataColumn("UserID", typeof(long))); dtArtists.Columns.Add(new DataColumn("PlaylistID", typeof(long))); dtArtists.Columns.Add(new DataColumn("TrackID", typeof(long))); dtArtists.Columns.Add(new DataColumn("Position", typeof(long))); dtArtists.Columns.Add(new DataColumn("ArtistID", typeof(long))); foreach (SpotifyState oSpotifyState in SpotifyStates) { DataRow drArtist = dtArtists.NewRow(); drArtist["UserID"] = oSpotifyState.UserID; drArtist["PlaylistID"] = oSpotifyState.PlaylistID; drArtist["TrackID"] = oSpotifyState.TrackID; drArtist["Position"] = oSpotifyState.Position; drArtist["ArtistID"] = oSpotifyState.ArtistID; dtArtists.Rows.Add(drArtist); } SqlBulkCopyColumnMapping cmUserID = new SqlBulkCopyColumnMapping("UserID", "UserID"); SqlBulkCopyColumnMapping cmPlaylistID = new SqlBulkCopyColumnMapping("PlaylistID", "PlaylistID"); SqlBulkCopyColumnMapping cmTrackID = new SqlBulkCopyColumnMapping("TrackID", "TrackID"); SqlBulkCopyColumnMapping cmPosition = new SqlBulkCopyColumnMapping("Position", "Position"); SqlBulkCopyColumnMapping cmArtistID = new SqlBulkCopyColumnMapping("ArtistID", "ArtistID"); RelationalDatabase.BulkInsert(dtArtists, oWorkTableState, cmUserID, cmPlaylistID, cmTrackID, cmPosition, cmArtistID); RelationalDatabase.ExecuteNonQuery("UpsertSpotifyState", CommandType.StoredProcedure); }
public static void SavePlaylistsToDatabase(Dictionary <Int64, SpotifyPlaylist> Playlists, WorkTableState oWorkTableState) { DataTable dtArtists = new DataTable(); dtArtists.Columns.Add(new DataColumn("PlaylistID", typeof(long))); dtArtists.Columns.Add(new DataColumn("Name", typeof(string))); dtArtists.Columns.Add(new DataColumn("SpotifyID", typeof(string))); dtArtists.Columns.Add(new DataColumn("PlaylistOwner", typeof(string))); foreach (KeyValuePair <long, SpotifyPlaylist> oKVP in Playlists) { DataRow drArtist = dtArtists.NewRow(); drArtist["PlaylistID"] = oKVP.Key; drArtist["Name"] = oKVP.Value.Name; drArtist["SpotifyID"] = oKVP.Value.SpotifyID; drArtist["PlaylistOwner"] = oKVP.Value.Owner; dtArtists.Rows.Add(drArtist); } SqlBulkCopyColumnMapping cmID = new SqlBulkCopyColumnMapping("PlaylistID", "PlaylistID"); SqlBulkCopyColumnMapping cmName = new SqlBulkCopyColumnMapping("Name", "Name"); SqlBulkCopyColumnMapping cmSpotifyID = new SqlBulkCopyColumnMapping("SpotifyID", "SpotifyID"); SqlBulkCopyColumnMapping cmPlaylistOwner = new SqlBulkCopyColumnMapping("PlaylistOwner", "PlaylistOwner"); RelationalDatabase.BulkInsert(dtArtists, oWorkTableState, cmID, cmName, cmSpotifyID, cmPlaylistOwner); RelationalDatabase.ExecuteNonQuery("AddSpotifyPlaylists", CommandType.StoredProcedure); }