private T GetItemFromMedia <T>(MediaRoot media) where T : BaseItem, new() { if (media == null) { throw new ArgumentNullException(nameof(media)); } var item = new T { Name = media.Title, Overview = Sanitizer.SanitizeDescription(media.Synopsis), ProviderIds = new Dictionary <string, string> { { Name, media.Mal_Id.ToString() }, } }; if (media.Genres?.Count > 0) { item.Genres = media.Genres.Select(i => i.Name).ToArray(); } int?startYear = media.Aired?.From.Year, startMonth = media.Aired?.From.Month, startDay = media.Aired?.From.Day; if (startYear.HasValue && startMonth.HasValue && startDay.HasValue) { item.PremiereDate = new DateTime(startYear.Value, startMonth.Value, startDay.Value); item.ProductionYear = startYear.Value; } item.CommunityRating = (float)Math.Round(media.Score, 1); return(item); }
private T GetItemFromMedia <T>(Media media) where T : BaseItem, new() { if (media == null) { throw new ArgumentNullException(nameof(media)); } var item = new T { Name = media.Title?.Romaji, Overview = Sanitizer.SanitizeDescription(media.Description), ProviderIds = new Dictionary <string, string> { { Name, media.Id.ToString() }, { MyAnimeListExternalId.ProviderName, media.IdMal?.ToString() } } }; if (media.Genres?.Count > 0) { item.Genres = media.Genres.ToArray(); } if (media.Studios?.Edges?.Count > 0) { item.Studios = media.Studios.Edges.Where(i => i.Node?.IsAnimationStudio == true) .Select(i => i.Node.Name).ToArray(); } int?startYear = media.StartDate?.Year, startMonth = media.StartDate?.Month, startDay = media.StartDate?.Day; if (startYear.HasValue && startMonth.HasValue && startDay.HasValue) { item.PremiereDate = new DateTime(startYear.Value, startMonth.Value, startDay.Value); item.ProductionYear = startYear.Value; } if (media.AverageScore.HasValue) { item.CommunityRating = (float)Math.Round(media.AverageScore.Value / 10, 1); } return(item); }
public RemoteSearchResult GetSearchResultFromMedia(MediaRoot media) { if (media == null) { throw new ArgumentNullException(nameof(media)); } return(new RemoteSearchResult { SearchProviderName = Name, Name = media.Title, ImageUrl = media.Image_Url, Overview = Sanitizer.SanitizeDescription(media.Synopsis), ProviderIds = new Dictionary <string, string> { { Name, media.Mal_Id.ToString() } } }); }
public RemoteSearchResult GetSearchResultFromMedia(Media media) { if (media == null) { throw new ArgumentNullException(nameof(media)); } return(new RemoteSearchResult { SearchProviderName = Name, Name = media.Title?.Romaji, ImageUrl = media.CoverImage?.Large, Overview = Sanitizer.SanitizeDescription(media.Description), ProviderIds = new Dictionary <string, string> { { Name, media.Id.ToString() }, { MyAnimeListExternalId.ProviderName, media.IdMal?.ToString() } } }); }