Exemplo n.º 1
0
        public void IgnoreProperty()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <Person, PersonReportModel>(p => new PersonReportModel
            {
                Name    = $"{p.FirstName} {p.LastName}",
                Age     = TestHelpers.CalculateAge(p.BirthDate),
                Address = MappingOptions.Ignore()
            });

            var reportModel = mapperConfiguration.Convert <Person, PersonReportModel>(TestData.People.JohnSmith);

            Assert.IsNull(reportModel.Address);
            const string doNotChange   = "DO NOT CHANGE THIS";
            var          existingModel = new PersonReportModel
            {
                Name        = "Test",
                Address     = doNotChange,
                City        = "Test",
                PhoneNumber = "Test",
                Age         = 5
            };

            mapperConfiguration.MapData(TestData.People.JohnSmith, existingModel);
            Assert.AreEqual(doNotChange, existingModel.Address);
        }
Exemplo n.º 2
0
        public void ChangeDestinationBeforeMapTest()
        {
            var mappingConfiguration = new MappingConfiguration();

            mappingConfiguration.CreateMapping <PersonFrontModel, Person>(
                f => new Person
            {
                PersonId  = MappingOptions.Ignore(),
                Timestamp = MappingOptions.Ignore(),
                FirstName = MappingOptions.Ignore()
            },
                s => s.SourceNamingConvention(NamingConventionType.CamelCase)
                .DestinationNamingConvention(NamingConventionType.CamelCase)
                .BeforeMap((f, p) =>
            {
                if (p.PersonId == 0)
                {
                    p.PersonId = 10;
                }
                p.FirstName = "Brent";
            }));
            var frontModel = new PersonFrontModel();
            var newPerson  = mappingConfiguration.Convert(frontModel).To <Person>();

            Assert.AreEqual(10, newPerson.PersonId);
            Assert.AreEqual("Brent", newPerson.FirstName);
            var existingPerson = new Person {
                PersonId = 9
            };

            mappingConfiguration.MapData(frontModel, existingPerson);
            Assert.AreEqual(9, existingPerson.PersonId);
            Assert.AreEqual("Brent", existingPerson.FirstName);
        }
 protected override void ConfigureMapping(IFlashMapperBuilderConfigurator <IgnoreTestSource, Destination> configurator)
 {
     configurator.CreateMapping(s => new Destination
     {
         Data2      = MappingOptions.Ignore(),
         Data4      = MappingOptions.Ignore(),
         Data5      = s.Data3 > 0.5 ? s.Data5 : MappingOptions.Ignore(),
         Data7      = MappingOptions.Ignore(),
         EighthData = MappingOptions.Ignore()
     });
 }
Exemplo n.º 4
0
 public void Initialize()
 {
     mappingConfiguration.CreateMapping <IgnoreTestSource, Destination>(s => new Destination
     {
         Data2      = MappingOptions.Ignore(),
         Data4      = MappingOptions.Ignore(),
         Data5      = s.Data3 > 0.5 ? s.Data5 : MappingOptions.Ignore(),
         Data7      = MappingOptions.Ignore(),
         EighthData = MappingOptions.Ignore()
     });
 }
Exemplo n.º 5
0
        public void IgnoreToNullable()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <Person, PersonViewModel>(p => new PersonViewModel
            {
                PersonId = MappingOptions.Ignore(),
            });
            var viewModel = mapperConfiguration.Convert(TestData.People.JohnSmith).To <PersonViewModel>();

            Assert.IsNull(viewModel.PersonId);
        }
 protected override void ConfigureMapping(IFlashMapperBuilderConfigurator <PersonFrontModel, Person> configurator)
 {
     configurator.CreateMapping(f => new Person
     {
         Timestamp = MappingOptions.Ignore()
     })
     .AfterMap((f, p) =>
     {
         p.Height = height;
     })
     .SourceNamingConvention(NamingConventionType.CamelCase)
     .DestinationNamingConvention(NamingConventionType.CamelCase);
 }
Exemplo n.º 7
0
        public void BuildFromScratch()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <string, string, string, int, UserInfo>((login, email, phoneNumber, age) => new UserInfo
            {
                Login       = login,
                Email       = email,
                Age         = age,
                PhoneNumber = phoneNumber,
                PersonName  = MappingOptions.Ignore()
            });
            var johnUser       = TestData.Users.JohnUser;
            var johnSmith      = TestData.People.JohnSmith;
            var resultUserInfo = mapperConfiguration.Convert <string, string, string, int, UserInfo>(johnUser.Login,
                                                                                                     johnUser.Email, johnSmith.PhoneNumber, TestHelpers.CalculateAge(johnSmith.BirthDate));

            CheckUserInfo(johnUser, johnSmith, resultUserInfo, true);
        }
Exemplo n.º 8
0
        public void IsConstructionFlag()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <PersonFrontModel, Person>(
                f => new Person
            {
                Height    = MappingOptions.IsConstruction() ? 6 : 7,
                Timestamp = MappingOptions.Ignore()
            },
                s => s.SourceNamingConvention(NamingConventionType.CamelCase)
                .DestinationNamingConvention(NamingConventionType.CamelCase));
            var frontModel      = new PersonFrontModel();
            var convertedPerson = mapperConfiguration.Convert(frontModel).To <Person>();
            var existingPerson  = new Person();

            mapperConfiguration.MapData(frontModel, existingPerson);
            Assert.AreEqual(6, convertedPerson.Height);
            Assert.AreEqual(7, existingPerson.Height);
        }
Exemplo n.º 9
0
        public void IgnoreTest()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <User, Person, UserWeirdModel>(
                (u, p) => new UserWeirdModel
            {
                home_address   = p.Address,
                johns_password = p.FirstName == "John" ? u.Password : MappingOptions.Ignore(),
                x_some_field   = MappingOptions.Ignore()
            },
                s => s.SourceNamingConvention(NamingConventionType.CamelCase)
                .DestinationNamingConvention(NamingConventionType.UnderscoreSeparated, "s_", "x_"));
            var johnUser = mapperConfiguration.Convert(TestData.Users.JohnUser, TestData.People.JohnSmith).To <UserWeirdModel>();

            CheckUserWierdModel(TestData.Users.JohnUser, TestData.People.JohnSmith, johnUser);
            var brentUser = johnUser;

            mapperConfiguration.MapData(TestData.Users.BrentUser, TestData.People.BrentJohnson, brentUser);
            CheckUserWierdModel(TestData.Users.BrentUser, TestData.People.BrentJohnson, brentUser);
        }
Exemplo n.º 10
0
        public void ConditionalIgnore()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <Person, PersonReportModel>(p => new PersonReportModel
            {
                Name        = p.FirstName != "Brent" ? "Not Brent" : "Brent",
                Age         = p.FirstName == "Brent" ? 6 : 5,
                Address     = p.FirstName == "John" ? p.Address : MappingOptions.Ignore(),
                City        = p.FirstName == "John" ? MappingOptions.Ignore() : p.City,
                PhoneNumber = p.FirstName != "John" ? MappingOptions.Ignore() : p.PhoneNumber
            });
            mapperConfiguration.CreateMapping <Person, Person>(p => new Person());
            var reportModel = mapperConfiguration.Convert <Person, PersonReportModel>(TestData.People.JohnSmith);

            Assert.AreEqual(TestData.People.JohnSmith.Address, reportModel.Address);
            Assert.IsNull(reportModel.City);
            Assert.AreEqual(TestData.People.JohnSmith.PhoneNumber, reportModel.PhoneNumber);
            Assert.AreEqual("Not Brent", reportModel.Name);
            Assert.AreEqual(5, reportModel.Age);

            const string doNotChange = "DO NOT CHANGE THIS";

            var existingModel = new PersonReportModel
            {
                Name        = "Brent",
                Address     = doNotChange,
                PhoneNumber = doNotChange,
                City        = "Test",
                Age         = 5
            };
            var brent = mapperConfiguration.Convert <Person, Person>(TestData.People.JohnSmith);

            brent.FirstName = "Brent";
            mapperConfiguration.MapData(brent, existingModel);
            Assert.AreEqual(doNotChange, existingModel.Address);
            Assert.AreEqual(doNotChange, existingModel.PhoneNumber);
            Assert.AreEqual(brent.City, existingModel.City);
            Assert.AreEqual(6, existingModel.Age);
        }
Exemplo n.º 11
0
        public void IsConstructionWithIgnoreTest()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <PersonFrontModel, Person>(
                f => new Person
            {
                PersonId  = MappingOptions.IsConstruction() ? 10 : MappingOptions.Ignore(),
                Timestamp = MappingOptions.Ignore()
            },
                s => s.SourceNamingConvention(NamingConventionType.CamelCase)
                .DestinationNamingConvention(NamingConventionType.CamelCase));

            var frontModel      = new PersonFrontModel();
            var convertedPerson = mapperConfiguration.Convert(frontModel).To <Person>();
            var existingPerson  = new Person {
                PersonId = 9
            };

            mapperConfiguration.MapData(frontModel, existingPerson);
            Assert.AreEqual(10, convertedPerson.PersonId);
            Assert.AreEqual(9, existingPerson.PersonId);
        }
Exemplo n.º 12
0
        public void AfterMapWithMultipleSources()
        {
            var mappingConfiguration = new MappingConfiguration();

            mappingConfiguration.CreateMapping <PersonFrontModel, int, Person>(
                (f, newId) => new Person
            {
                PersonId  = MappingOptions.Ignore(),
                Timestamp = MappingOptions.Ignore(),
                FirstName = MappingOptions.Ignore(),
                LastName  = "Johnson"
            },
                s => s.SourceNamingConvention(NamingConventionType.CamelCase)
                .DestinationNamingConvention(NamingConventionType.CamelCase)
                .AfterMap((f, newId, p) =>
            {
                if (p.PersonId == 0)
                {
                    p.PersonId = newId;
                }
                p.FirstName = "Brent";
                p.LastName  = "Smith";
            }));
            var frontModel = new PersonFrontModel();
            var newPerson  = mappingConfiguration.Convert(frontModel, 10).To <Person>();

            Assert.AreEqual(10, newPerson.PersonId);
            Assert.AreEqual("Brent", newPerson.FirstName);
            Assert.AreEqual("Smith", newPerson.LastName);
            var existingPerson = new Person {
                PersonId = 9
            };

            mappingConfiguration.MapData(frontModel, 10, existingPerson);
            Assert.AreEqual(9, existingPerson.PersonId);
            Assert.AreEqual("Smith", existingPerson.LastName);
        }