public AniListSource(ITitlePreferenceConfiguration titlePreferenceConfiguration, IEnumerable <IEmbySourceDataLoader> embySourceDataLoaders, IAniListNameSelector aniListNameSelector) { this.titlePreferenceConfiguration = titlePreferenceConfiguration; this.embySourceDataLoaders = embySourceDataLoaders; this.aniListNameSelector = aniListNameSelector; }
private static Option <PersonInfo> ToPersonInfo(IAniListNameSelector nameSelector, TitleType preferredTitleType, string language, AniListStaffData aniListStaffData) { return(nameSelector.SelectName(aniListStaffData.Name, preferredTitleType, language) .Map(n => new PersonInfo { Name = n, Role = aniListStaffData.Role, ImageUrl = aniListStaffData.Image.Large })); }
private static Option <PersonInfo> ToPersonInfo(IAniListNameSelector nameSelector, TitleType preferredTitleType, string language, AniListCharacterData aniListCharacterData) { var voiceActor = aniListCharacterData.VoiceActors.Find(va => string.Equals(va.Language, "JAPANESE", StringComparison.InvariantCultureIgnoreCase)); var characterName = nameSelector.SelectName(aniListCharacterData.Name, preferredTitleType, language); var voiceActorName = voiceActor.Bind(va => nameSelector.SelectName(va.Name, preferredTitleType, language)); return(characterName.Bind(c => voiceActor.Bind(va => voiceActorName.Map(van => new PersonInfo { Name = van, Type = PersonType.Actor, Role = c, ImageUrl = va.Image.Large })))); }
public AniListSourceMappingConfiguration(IAniListNameSelector nameSelector) { this.nameSelector = nameSelector; }