public static int ImportFromJson(AlbumViewerContext context, string json)
{
// data exists
if (context.Albums.Any())
return 1;
var albums = JsonConvert.DeserializeObject<Album[]>(json);
foreach (var album in albums)
{
// clear out primary/identity keys so insert works
album.Id = 0;
album.ArtistId = 0;
album.Artist.Id = 0;
var existingArtist = context.Artists
.FirstOrDefault(a => a.ArtistName == album.Artist.ArtistName);
if (existingArtist == null)
{
context.Artists.Add(album.Artist);
}
else
{
album.Artist = existingArtist;
album.ArtistId = existingArtist.Id;
}
if (album.Tracks != null)
{
foreach (var track in album.Tracks)
{
track.Id = 0;
context.Tracks.Add(track);
}
}
context.Albums.Add(album);
try
{
context.SaveChanges();
}
catch
{
Console.WriteLine("Error adding: " + album.ArtistId);
}
}
var user = new User()
{
Username = "test",
Password = "test",
Fullname = "Test User",
};
context.Users.Add(user);
context.SaveChanges();
return 1;
}