Пример #1
0
        private async Task AnimeToDatabase(Anime anime)
        {
            var animeDbo = new AnimeDbo();

            animeDbo.CopyBaseAndNavigationProperties(source: anime);

            database.Animes.Add(animeDbo);

            foreach (var genre in anime.Genres)
            {
                var genreDbo = await database.Genres.SingleOrDefaultAsync(g => g.Slug == genre.Slug);

                database.GenreMappings.Add(new GenreMapping {
                    Anime = animeDbo, Genre = genreDbo ?? genre
                });
            }

            foreach (var studio in anime.Studios)
            {
                var studioDbo = await database.Studios.SingleOrDefaultAsync(s => s.Slug == studio.Slug);

                database.StudioMappings.Add(new StudioMapping {
                    Anime = animeDbo, Studio = studioDbo ?? studio
                });
            }

            await database.SaveChangesAsync();
        }