/// <summary> /// Methode zur Umwandlung eines Fassungs Ergebnis Objektes in das normalisiert MovieMetaEngine Format /// </summary> /// <param name="ofdbObject"></param> /// <returns></returns> public static MovieMetaEngine.MovieMetaMovieModel MapToMovieMetaMovieModel(Edition.ofdbgw ofdbObject) { Mapper.CreateMap <Edition.ofdbgw, MovieMetaEngine.MovieMetaMovieModel>() .ForAllMembers(opt => opt.Ignore()); Mapper.CreateMap <Edition.ofdbgw, MovieMetaEngine.MovieMetaMovieModel>() .ForMember(dest => dest.Title, m => m.MapFrom(s => s.resultat.titel)) .ForMember(dest => dest.ImgUrl, m => m.MapFrom(s => s.resultat.bilder[0])) .ForMember(dest => dest.MetaEngine, m => m.UseValue(metaEngineIdentifier)) .ForMember(dest => dest.Length, m => m.MapFrom(s => s.resultat.laufzeit)); //.ForMember(dest => dest.Reference, m => m.Ignore()); // die eigentliche ofdb id scheint in diesem Erebnis nicht mehr enthalten zu sein. return(Mapper.Map <Edition.ofdbgw, MovieMetaEngine.MovieMetaMovieModel>(ofdbObject)); }
/// <summary> /// Gibt die Detailinformationen zu einem Film auf Basis der Ofdb Id zurück. /// </summary> /// <param name="EngineId">Enhtält der Suchstring ein Semikolon, so kommt die OFDB spezifische Such nach Fassungen zum Tragen.</param> /// <returns></returns> public List <MovieMetaEngine.MovieMetaMovieModel> SearchMovieByEngineId(string EngineId) { // Variable für die OFDB Id string ofdbId = null; // Objekt für ein eventuelle Fassungsresultat erstellen Edition.ofdbgw editionResult = null; // Wir ermitteln ob nur eine OFDB Id oder eine Kombination aus OFDB Id und Fassungs ID übergeben wurde if (EngineId.Contains(';')) { // Wir splitten die Id am Delimiter auf, Ofdb Id ist der erste Teil ofdbId = EngineId.Split(';')[0]; // Die Daten für die Fassung füllen wir per Anfrage mit dem komplette String ab editionResult = GenericSearch <Edition.ofdbgw>(urlBase + "fassung/" + EngineId); } else { ofdbId = EngineId; } // Wir holen uns nun den Movie-Teil unseres Films anhand der ofdbId ... Movie.ofdbgw movieResult = GenericSearch <Movie.ofdbgw>(urlBase + "movie/" + ofdbId); // ... und mappen das Ergbnis auf unser MetaModel MovieMetaEngine.MovieMetaMovieModel m = new MovieMetaEngine.MovieMetaMovieModel(); m = OfdbModelToMovieMetaModelMapper.MapToMovieMetaMovieModel(movieResult); // ToDo: Edition dem Movie hinzufügen. Geht es hier nur um die Länge? m.Length = editionResult != null ? Runtime.Parse(editionResult.resultat.laufzeit) : "0"; // Im Ergebnis scheint die eigentliche OFDB ID dann gar nicht mehr enthalten zu sein // Wir setzen sie daher hier nochmals explizit ein. m.Reference = EngineId; // Wir erstellen die Ergebnisliste List <MovieMetaEngine.MovieMetaMovieModel> resultList = new List <MovieMetaEngine.MovieMetaMovieModel>(); resultList.Add(m); return(resultList); }