Ejemplo n.º 1
0
        public MappingProfile()
        {
            // Add as many of these lines as you need to map your objects
            CreateMap <OmdbMovieModel, Movie>()
            .ForMember(dest => dest.Year, opt => opt.MapFrom(src => new DateTime(Convert.ToInt32(src.Year), 1, 1)))
            .ForMember(dest => dest.Genres, opt => opt.MapFrom(src => DataConverterHelper.ConvertOmdbGenresToCollection(src.Genre, src.Id)))
            .ForMember(dest => dest.RunTimeInMinutes, opt => opt.MapFrom(src => DataConverterHelper.ConvertOmdbRuntimeToInt(src.Runtime)));

            CreateMap <Movie, MovieGetDto>()
            .ForMember(dest => dest.ImdbId, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Year, opt => opt.MapFrom(src => src.Year.Year.ToString()))
            .ForMember(dest => dest.Genres, opt => opt.MapFrom(x => x.Genres.Select(y => y.GenreId).ToList()))
            .ForMember(dest => dest.RunTime, opt => opt.MapFrom(src => src.RunTimeInMinutes));

            CreateMap <MovieCreateDto, Movie>();

            CreateMap <ShortMovieModel, ShortMovieDto>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.ImdbId));

            CreateMap <UserCreateDto, User>();
            CreateMap <UserUpdateDto, User>();
            CreateMap <UserGetDto, User>();
            CreateMap <User, UserGetDto>();

            CreateMap <CommentCreateDto, Comment>();
            CreateMap <Comment, CommentGetByUserDto>();
            CreateMap <Comment, CommentGetOnMovieDto>();

            CreateMap <SearchResultsModel, ShortMovieModel>();

            CreateMap <TrackedMovieGetDto, TrackedMovie>();
            CreateMap <TrackedMoviesGetDto, TrackedMovie>()
            .ForPath(dest => dest.Movie.Title, opt => opt.MapFrom(src => src.Title))
            .ForPath(dest => dest.Movie.Year, opt => opt.MapFrom(src => src.Year))
            .ForPath(dest => dest.Movie.ImdbRating, opt => opt.MapFrom(src => src.ImdbRating))
            .ForPath(dest => dest.Movie.RunTimeInMinutes, opt => opt.MapFrom(src => src.RunTime))
            .ForPath(dest => dest.Movie.Poster, opt => opt.MapFrom(src => src.Poster))
            .ForPath(dest => dest.Watched, opt => opt.MapFrom(src => src.Watched))
            .ForPath(dest => dest.CreatedTime, opt => opt.MapFrom(src => src.CreatedTime))
            .ReverseMap();

            CreateMap <User, UserGdprDto>();
            CreateMap <Comment, MovieCommentGdprDto>()
            .ForMember(dest => dest.MovieTitle, opt => opt.MapFrom(src => src.Movie.Title));
            CreateMap <TrackedMovie, MovieTrackGdprDto>()
            .ForMember(dest => dest.MovieTitle, opt => opt.MapFrom(src => src.Movie.Title));
        }
Ejemplo n.º 2
0
        public void TestOmdbRunTimeConverterWithCharacters(string runTime, int?expectedResult)
        {
            var result = DataConverterHelper.ConvertOmdbRuntimeToInt(runTime);

            result.Should().Be(expectedResult);
        }