/// <summary> /// Responsible for fetch information of a <see cref="Model.Movie"/> from database and process UI friendly manner. /// </summary> /// <param name="movieId">Identifier of <see cref="Model.Movie"/>.</param> /// <returns>The information processed into <see cref="AppMovieDto"/>.</returns> public AppMovieDto GetSelectedMovieInfo(int movieId) { Movie selectedMovie = movieRepository.GetMovieById(movieId); AppMovieDto processedMovie = mapper.GetMapper().Map <AppMovieDto>(selectedMovie); processedMovie.Director = processedMovie.MovieDirectors.First(); return(processedMovie); }
private void PopulateSelectedMovieInfo() { if (this.selectedMovie != null) { IContainer continer = IocContainerSingleton.Instance.Container; MovieRetrieveService service = continer.Resolve <MovieRetrieveService>(); AppMovieDto selectedMovieInfo = service.GetSelectedMovieInfo(this.selectedMovie.MovieId); this.TitleTextValue = selectedMovieInfo.Title; this.DirectorImgRawData = selectedMovieInfo.Director.ProfileImage; this.DirectorTextValue = selectedMovieInfo.Director.Name; this.TaglineTextValue = selectedMovieInfo.Tagline; this.ReleaseYearTextValue = selectedMovieInfo.ReleasedDate; this.ProgressValue = (selectedMovieInfo.ImdbVote * 10); this.RatingTextValue = selectedMovieInfo.ImdbVote.ToString(); this.PopularityTextValue = selectedMovieInfo.Popularity.ToString(); this.GenreTextValue = selectedMovieInfo.Genres; this.RuntimeTextValue = selectedMovieInfo.Runtime.ToString() + runtimeUnitText; this.OverviewTextValue = selectedMovieInfo.Overview; this.PosterImgRawData = selectedMovieInfo.PosterImage; this.BackdropImgRawData = selectedMovieInfo.BackdropImage; this.HomepageTextValue = selectedMovieInfo.Homepage; if (this.HomepageTextValue != null) { this.ShouldDisplayHomepage = Visibility.Visible; } else { this.ShouldDisplayHomepage = Visibility.Hidden; } StringBuilder imdbUrlBuilder = new StringBuilder(); imdbUrlBuilder.Append(imdbBaseUrl); imdbUrlBuilder.Append(selectedMovieInfo.ImdbId); this.ImdbpageTextValue = imdbUrlBuilder.ToString(); if (this.ImdbpageTextValue != null) { this.ShouldDisplayImdbpage = Visibility.Visible; } else { this.ShouldDisplayImdbpage = Visibility.Hidden; } this.ShouldRatingBarVisible = Visibility.Visible; this.ShouldDisplayPopularity = Visibility.Visible; this.AppMovieCastInfoCollection = new ObservableCollection <AppMovieActorDto>(selectedMovieInfo.MovieActors); } }