private async Task GetProviderIds(PlexMetadata showMetadata, PlexServerContent existingContent) { var metadata = showMetadata.MediaContainer.Metadata.FirstOrDefault(); var guids = new List <string> { metadata.guid }; if (metadata.Guid != null) { foreach (var g in metadata.Guid) { guids.Add(g.Id); } } var providerIds = PlexHelper.GetProviderIdsFromMetadata(guids.ToArray()); if (providerIds.ImdbId.HasValue()) { existingContent.ImdbId = providerIds.ImdbId; } if (providerIds.TheMovieDb.HasValue()) { existingContent.TheMovieDbId = providerIds.TheMovieDb; } if (providerIds.TheTvDb.HasValue()) { // Lookup TheMovieDbId var findResult = await _movieApi.Find(providerIds.TheTvDb, ExternalSource.tvdb_id); var tvResult = findResult.tv_results.FirstOrDefault(); if (tvResult != null) { existingContent.TheMovieDbId = tvResult.id.ToString(); } existingContent.TvDbId = providerIds.TheTvDb; } }
private static void GetProviderIds(PlexMetadata showMetadata, PlexServerContent existingContent) { var providerIds = PlexHelper.GetProviderIdFromPlexGuid(showMetadata.MediaContainer.Metadata.FirstOrDefault() .guid); if (providerIds.Type == ProviderType.ImdbId) { existingContent.ImdbId = providerIds.ImdbId; } if (providerIds.Type == ProviderType.TheMovieDbId) { existingContent.TheMovieDbId = providerIds.TheMovieDb; } if (providerIds.Type == ProviderType.TvDbId) { existingContent.TvDbId = providerIds.TheTvDb; } }