private async Task GetMovieGenres(Movie movie) { var relationRepository = new RelationRepository(Configuration, MemoryCache); var isExist = MemoryCache.TryGetValue("CACHEMOVIERELATIONS" + movie.GetId(), out List <Relation> movieRelations); if (!isExist) { movieRelations = await relationRepository.GetRelationsByParent( movie.GetEntityCategoryId(), movie.GetId()); MemoryCache.Set("CACHEMOVIERELATIONS" + movie.GetId(), movieRelations); TrakkerCache.SaveCacheEntry("CACHEMOVIERELATIONS" + movie.GetId()); } var movieGenreRepository = new MovieGenreRepository(Configuration, MemoryCache); foreach (var relation in movieRelations) { if (relation.CategoryTo == MovieGenre.ENTITY_CATEGORY_ID) { movie.AddGenre(await movieGenreRepository.GetById(relation.EntityTo)); } } }
public async Task GetListableItems(MediaList mediaList) { var relationRepository = new RelationRepository(Configuration, MemoryCache); var relList = await relationRepository.GetRelationsByParent( mediaList.GetEntityCategoryId(), mediaList.GetId()); //TODO FIX!!!! var movieRepository = new MovieRepository(Configuration, MemoryCache); var tvShowRepository = new TVShowRepository(Configuration, MemoryCache); foreach (var relation in relList) { if (relation.CategoryTo == Movie.ENTITY_CATEGORY_ID) { mediaList.AddListableItem(await movieRepository.GetById(relation.EntityTo)); } else if (relation.CategoryTo == TVShow.ENTITY_CATEGORY_ID) { mediaList.AddListableItem(await tvShowRepository.GetById(relation.EntityTo)); } } }