Beispiel #1
0
        public void ComplexMap()
        {
            Mapper.Register <FashionProduct, FashionProductViewModel>()
            .Function(dest => dest.OptionalGender, src =>
            {
                GenderTypes?optionalGender;
                switch (src.Gender)
                {
                case GenderTypes.Unisex:
                    optionalGender = null;
                    break;

                default:
                    optionalGender = src.Gender;
                    break;
                }
                return(optionalGender);
            });
            Mapper.Register <ProductOption, ProductOptionViewModel>();
            Mapper.Register <Size, SizeViewModel>();
            Mapper.Register <Feature, FeatureViewModel>();
            Mapper.Register <City, CityViewModel>()
            .Member(dest => dest.FeaturesList, src => src.Features);
            Mapper.Register <Supplier, SupplierViewModel>();
            Mapper.Register <Brand, BrandViewModel>();

            Mapper.Compile();
            var testData = Functional.ComplexMap();

            var result = Mapper.Map <FashionProduct, FashionProductViewModel>(testData.Key);
            var valid  = result.Equals(testData.Value);

            Assert.IsTrue(valid);
        }