コード例 #1
0
ファイル: GeneralTests.cs プロジェクト: yugabe/MutatorFX
        public void IgnoreMember()
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMapping <ParentEntity, ParentEntityDto>(mapping => mapping
                                                                  .IgnoreMember(d => d.Ignored)
                                                                  .IgnoreMember(d => d.NestedEntity)
                                                                  );
            });
            var mapper        = config.CreateMapper();
            var parentMapping = mapper.GetMapping <ParentEntity, ParentEntityDto>();

            using (var context = new DatabaseContext(DatabaseHelper.Options))
            {
                var parentDtos = context.ParentEntities.Select(parentMapping).ToList();

                Assert.AreEqual(1, parentDtos.Count);

                var result = parentDtos.FirstOrDefault();

                var expected = new ParentEntityDto
                {
                    Id            = 1,
                    Name          = "Entity",
                    DtoProperty   = 0,
                    Ignored       = null,
                    Parameterized = 0,
                    NestedEntity  = null
                };

                Assert.AreEqual(true, expected.Equals(result));
            }
        }
コード例 #2
0
ファイル: GeneralTests.cs プロジェクト: yugabe/MutatorFX
        public void JoinResultMapping()
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMapping <ParentEntity, ParentEntityDto>();
            });
            var mapper        = config.CreateMapper();
            var parentMapping = mapper.GetMapping <ParentEntity, ParentEntityDto>();

            using (var context = new DatabaseContext(DatabaseHelper.Options))
            {
                var parentDtos = context.ParentEntities
                                 .Join(context.NestedEntities,
                                       d => d.NestedEntityId,
                                       s => s.Id,
                                       (d, s) => new ParentEntity
                {
                    Id             = d.Id,
                    Name           = d.Name,
                    EntityProperty = d.EntityProperty,
                    Ignored        = d.Ignored,
                    NestedEntity   = s
                })
                                 .Select(parentMapping).ToList();

                Assert.AreEqual(1, parentDtos.Count);

                var result = parentDtos.FirstOrDefault();

                var expected = new ParentEntityDto
                {
                    Id            = 1,
                    Name          = "Entity",
                    DtoProperty   = 0,
                    Ignored       = "Ignore this property!",
                    Parameterized = 0,
                    NestedEntity  = new NestedEntityDto
                    {
                        Id   = 1,
                        Name = "NestedEntity",
                        NestedNestedEntity = new NestedNestedEntityDto
                        {
                            Id   = 1,
                            Name = "NestedNestedEntity"
                        }
                    }
                };

                Assert.AreEqual(true, expected.Equals(result));
            }
        }
コード例 #3
0
        public void UseQueryMutator()
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMapping <ParentEntity, ParentEntityDto>();
            });

            var serviceProvider = new ServiceCollection()
                                  .UseQueryMutator(config, true)
                                  .BuildServiceProvider();

            var mapper = serviceProvider.GetService <IMapper>();

            Assert.IsNotNull(mapper);

            var parentMapping = serviceProvider.GetService <IMapping <ParentEntity, ParentEntityDto> >();

            Assert.IsNotNull(parentMapping);

            using (var context = new DatabaseContext(DatabaseHelper.Options))
            {
                var parentDtos = context.ParentEntities.Select(parentMapping).ToList();

                Assert.AreEqual(1, parentDtos.Count);

                var result = parentDtos.FirstOrDefault();

                var expected = new ParentEntityDto
                {
                    Id            = 1,
                    Name          = "Entity",
                    DtoProperty   = 0,
                    Ignored       = "Ignore this property!",
                    Parameterized = 0,
                    NestedEntity  = new NestedEntityDto
                    {
                        Id   = 1,
                        Name = "NestedEntity",
                        NestedNestedEntity = new NestedNestedEntityDto
                        {
                            Id   = 1,
                            Name = "NestedNestedEntity"
                        }
                    }
                };

                Assert.AreEqual(true, expected.Equals(result));
            }
        }
コード例 #4
0
ファイル: GeneralTests.cs プロジェクト: yugabe/MutatorFX
        public void MappingWithParameter()
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMapping <ParentEntity, ParentEntityDto, int>(mapping => mapping
                                                                       .MapMemberWithParameter(d => d.Parameterized, p => dd => dd.Id * p)
                                                                       .IgnoreMember(d => d.Ignored)
                                                                       );

                cfg.CreateMapping <ParentEntity, ParentEntityDto, ParentEntityParamaters>(mapping => mapping
                                                                                          .MapMemberWithParameter(d => d.Parameterized, p => dd => dd.Id * p.IntProperty)
                                                                                          .MapMemberWithParameter(d => d.Name, p => dd => dd.Name + p.StringProperty)
                                                                                          );
            });
            var mapper = config.CreateMapper();
            var parentMappingWithParameter  = mapper.GetMapping <ParentEntity, ParentEntityDto, int>();
            var parentMappingWithParameters = mapper.GetMapping <ParentEntity, ParentEntityDto, ParentEntityParamaters>();

            using (var context = new DatabaseContext(DatabaseHelper.Options))
            {
                var param      = 5;
                var parentDtos = context.ParentEntities.Select(parentMappingWithParameter, param).ToList();

                Assert.AreEqual(1, parentDtos.Count);

                var result = parentDtos.FirstOrDefault();

                var expected = new ParentEntityDto
                {
                    Id            = 1,
                    Name          = "Entity",
                    DtoProperty   = 0,
                    Ignored       = null,
                    Parameterized = 1 * param,
                    NestedEntity  = new NestedEntityDto
                    {
                        Id   = 1,
                        Name = "NestedEntity",
                        NestedNestedEntity = new NestedNestedEntityDto
                        {
                            Id   = 1,
                            Name = "NestedNestedEntity"
                        }
                    }
                };

                Assert.AreEqual(true, expected.Equals(result));

                var @params = new ParentEntityParamaters
                {
                    IntProperty    = 10,
                    StringProperty = "_suffix"
                };
                parentDtos = context.ParentEntities.Select(parentMappingWithParameters, @params).ToList();

                Assert.AreEqual(1, parentDtos.Count);

                result = parentDtos.FirstOrDefault();

                expected = new ParentEntityDto
                {
                    Id            = 1,
                    Name          = "Entity" + @params.StringProperty,
                    DtoProperty   = 0,
                    Ignored       = "Ignore this property!",
                    Parameterized = 1 * @params.IntProperty,
                    NestedEntity  = new NestedEntityDto
                    {
                        Id   = 1,
                        Name = "NestedEntity",
                        NestedNestedEntity = new NestedNestedEntityDto
                        {
                            Id   = 1,
                            Name = "NestedNestedEntity"
                        }
                    }
                };

                Assert.AreEqual(true, expected.Equals(result));
            }
        }