コード例 #1
4
            public void Register(TypeAdapterConfig config)
            {
                config.NewConfig<Customer, CustomerDTO>();
                config.NewConfig<Product, ProductDTO>();

                config.ForType<Product, ProductDTO>()
                    .Map(dest => dest.Title, src => src.Title + "_AppendSomething!");
            }
コード例 #2
0
        public void NewConfig_Overwrites_Config()
        {
            var config = new TypeAdapterConfig();
            config.NewConfig<Customer, CustomerDTO>()
                .Map(dest => dest.Name, src => src.Name + "_Enhanced");

            config.NewConfig<Customer, CustomerDTO>()
                .Map(dest => dest.Address_Country, src => "TestAddressCountry");

            var customer = new Customer
            {
                Id = 12345,
                Name = "TestName",
                Surname = "TestSurname"
            };

            var customerDto = customer.Adapt<CustomerDTO>(config);

            customerDto.Id.ShouldEqual(12345);
            customerDto.Name.ShouldEqual("TestName");
            customerDto.Address_Country.ShouldEqual("TestAddressCountry");
        }
コード例 #3
0
        public void Basic_Poco_Is_Mapped_With_New_Config()
        {
            var config = new TypeAdapterConfig();
            config.NewConfig<Customer, CustomerDTO>()
                .Map(dest => dest.Address_Country, src => "TestAddressCountry");

            var customer = new Customer
            {
                Id = 12345,
                Name = "TestName",
                Surname = "TestSurname"
            };

            var customerDto = customer.Adapt<CustomerDTO>(config);

            customerDto.Id.ShouldEqual(12345);
            customerDto.Name.ShouldEqual("TestName");
            customerDto.Address_Country.ShouldEqual("TestAddressCountry");
        }
コード例 #4
0
        public void Unmapped_Classes_Should_Throw()
        {
            try
            {
                //compile first to prevent type initialize exception
                TypeAdapterConfig <SimplePoco, SimpleDto> .NewConfig().Compile();

                TypeAdapterConfig.GlobalSettings.RequireExplicitMapping = true;
                TypeAdapterConfig <SimplePoco, SimpleDto> .Clear();

                var simplePoco = new SimplePoco {
                    Id = Guid.NewGuid(), Name = "TestName"
                };

                TypeAdapter.Adapt <SimpleDto>(simplePoco);
                Assert.Fail();
            }
            catch (InvalidOperationException ex)
            {
                ex.Message.ShouldContain("SimplePoco");
                ex.Message.ShouldContain("SimpleDto");
            }
        }
コード例 #5
0
        public void Error_Thrown_With_Explicit_Configuration_On_Unmapped_Child_Collection()
        {
            try
            {
                TypeAdapterConfig.GlobalSettings.RequireDestinationMemberSource = true;
                TypeAdapterConfig <ParentPoco, ParentDto> .NewConfig().Compile();

                var source = new ParentPoco {
                    Id = Guid.NewGuid(), Name = "TestName", Children = new List <ChildPoco> {
                        new ChildPoco {
                            Id = Guid.NewGuid(), Name = "TestName"
                        }
                    }
                };

                TypeAdapter.Adapt <ParentPoco, ParentDto>(source);
                Assert.Fail();
            }
            catch (InvalidOperationException ex)
            {
                ex.ToString().ShouldContain("UnmappedChildren");
            }
        }
コード例 #6
0
        private JobRepository()
        {
            TypeAdapterConfig <Job, JobEntity> .NewConfig()
            .Map(dest => dest.CompanyId, src => src.CompanyId)
            .Map(dest => dest.CronExpressions, src => string.Join(separator, src.CronExpressions))
            .Map(dest => dest.JsonData, src => src.JsonData)
            .Map(dest => dest.Name, src => src.Name)
            .Map(dest => dest.PartitionKey, src => src.CompanyId)
            .Map(dest => dest.RowKey, src => src.Name);

            TypeAdapterConfig <JobEntity, Job> .NewConfig()
            .Map(dest => dest.CompanyId, src => src.CompanyId)
            .Map(dest => dest.CronExpressions, src => src.CronExpressions.Split(separator, StringSplitOptions.None))
            .Map(dest => dest.JsonData, src => src.JsonData)
            .Map(dest => dest.Name, src => src.Name);

            string connectionString            = "PUT YOUR CONNECTION STRING HERE";
            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
            CloudTableClient    tableClient    = storageAccount.CreateCloudTableClient();

            _table = tableClient.GetTableReference("schedule-job");
            _table.CreateIfNotExistsAsync().Wait();
        }
コード例 #7
0
        public void Map_Flexible_Name()
        {
            TypeAdapterConfig <MixName, SimpleName> .NewConfig().NameMatchingStrategy(NameMatchingStrategy.Flexible);

            var mix = new MixName
            {
                PascalCase       = "A",
                camelCase        = "B",
                __under__SCORE__ = "C",
                lower_case       = "D",
                UPPER_CASE       = "E",
                MIX_UnderScore   = "F",
            };

            var simple = TypeAdapter.Adapt <SimpleName>(mix);

            simple.PascalCase.ShouldBe(mix.PascalCase);
            simple.CamelCase.ShouldBe(mix.camelCase);
            simple.UnderScore.ShouldBe(mix.__under__SCORE__);
            simple.LowerCase.ShouldBe(mix.lower_case);
            simple.UpperCase.ShouldBe(mix.UPPER_CASE);
            simple.MixUnder_SCORE.ShouldBe(mix.MIX_UnderScore);
        }
コード例 #8
0
        public void NewInstanceConfigurationTest()
        {
            TestNewInstanceD obj = new TestNewInstanceD();

            obj.Name  = "Tim";
            obj.Child = new TestNewInstanceF()
            {
                Name = "Kıvanç"
            };

            TypeAdapterConfig <TestNewInstanceD, TestNewInstanceE>
            .NewConfig()
            .ShallowCopyForSameType(true);

            var newObj2 = TypeAdapter.Adapt <TestNewInstanceD, TestNewInstanceE>(obj);

            Assert.IsTrue(newObj2.Name == "Tim");
            Assert.IsTrue(obj.Child.Name == newObj2.Child.Name);

            obj.Child.Name = "Antalya";

            Assert.IsTrue(newObj2.Child.Name == "Antalya");
        }
コード例 #9
0
        public void Dictionary_Of_String_Mix()
        {
            TypeAdapterConfig <Dictionary <string, int?>, Dictionary <string, int> > .NewConfig()
            .Map("A", "a")
            .Ignore("c")
            .IgnoreIf((src, dest) => src.Count > 3, "d")
            .IgnoreNullValues(true)
            .NameMatchingStrategy(NameMatchingStrategy.ConvertSourceMemberName(s => "_" + s));

            var dict = new Dictionary <string, int?>
            {
                ["a"] = 1,
                ["b"] = 2,
                ["c"] = 3,
                ["d"] = 4,
                ["e"] = null,
            };
            var result = dict.Adapt <Dictionary <string, int?>, Dictionary <string, int> >();

            result.Count.ShouldBe(2);
            result["A"].ShouldBe(1);
            result["_b"].ShouldBe(2);
        }
コード例 #10
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public ViewTableBLL()
 {
     TypeAdapterConfig <ViewTable, ViewTableViewModel> .NewConfig()
     .Map(dest => dest.ViewID, src => src.ViewID)
     .Map(dest => dest.PageID, src => src.PageID)
     .Map(dest => dest.UserID, src => src.UserID)
     .Map(dest => dest.DateStart, src => src.DateStart)
     .Map(dest => dest.DateEnd, src => src.DateEnd)
     .Map(dest => dest.ViewSeconds, src => DbFunctions.DiffSeconds(src.DateStart, src.DateEnd))
     .Map(dest => dest.Portal, src => src.Portal)
     .Map(dest => dest.Version, src => src.Version)
     .Map(dest => dest.Browser, src => src.Browser)
     .Map(dest => dest.Width, src => src.Width)
     .Map(dest => dest.Height, src => src.Height)
     .Map(dest => dest.IP, src => src.IP)
     .Map(dest => dest.Synchronize, src => src.Synchronize)
     .Map(dest => dest.Remark, src => src.Remark)
     .Map(dest => dest.Network, src => src.Network)
     .Map(dest => dest.CreateDate, src => src.CreateDate)
     .Map(dest => dest.PageName, src => src.ViewPageTable.PageName)
     .Map(dest => dest.PageTitle, src => src.ViewPageTable.PageTitle)
     .Compile();
 }
コード例 #11
0
        public void ForType_Enhances_Config()
        {
            var config = new TypeAdapterConfig();

            config.NewConfig <Customer, CustomerDTO>()
            .Map(dest => dest.Address_Country, src => "TestAddressCountry");

            config.ForType <Customer, CustomerDTO>()
            .Map(dest => dest.Name, src => src.Name + "_Enhanced");

            var customer = new Customer
            {
                Id      = 12345,
                Name    = "TestName",
                Surname = "TestSurname"
            };

            var customerDto = customer.Adapt <CustomerDTO>(config);

            customerDto.Id.ShouldEqual(12345);
            customerDto.Name.ShouldEqual("TestName_Enhanced");
            customerDto.Address_Country.ShouldEqual("TestAddressCountry");
        }
コード例 #12
0
        public static void ConfigGarageMapper()
        {
            TypeAdapterConfig <GarageViewModel, GarageModel>
            .NewConfig()
            .Map(dest => dest.Language, src => src.SelectedLanguageCode)
            .Map(dest => dest.FormatDate, src => src.SelectedDateFormatCode)
            .Map(dest => dest.BannerId, src => src.SelectedBannerId)
            .Map(dest => dest.Province, src => src.Province.ToUpper())
            .Map(dest => dest.OilResetModule, src => src.OilReset)
            .Map(dest => dest.MaintenanceModule, src => src.Maintenance)
            .Map(dest => dest.CommunicationModule, src => src.Communication)
            .Map(dest => dest.Support, src => src.Support)
            .Map(dest => dest.ActivationDate, src => Convert.ToDateTime(src.ActivationDate).ToString("dd/MM/yyyy"));

            TypeAdapterConfig <GarageModel, GarageViewModel>
            .NewConfig()
            .Map(dest => dest.SelectedBannerId, src => src.BannerId)
            .Map(dest => dest.SelectedLanguageCode, src => src.Language)
            .Map(dest => dest.SelectedDateFormatCode, src => src.FormatDate)
            .Map(dest => dest.Communication, src => src.CommunicationModule)
            .Map(dest => dest.Maintenance, src => src.MaintenanceModule)
            .Map(dest => dest.OilReset, src => src.OilResetModule);
        }
コード例 #13
0
        public static void Init()
        {
            TypeAdapterConfig <Product, ProductViewModel>
            .NewConfig()
            .Map(dest => dest.DefaultSharedOption, src => src.DefaultOption.Adapt <ProductVariant, ProductVariantViewModel>());

            TypeAdapterConfig <Test, TestViewModel>
            .NewConfig()
            .Map(dest => dest.Age, src => src.Age)
            .Map(dest => dest.Weight, src => src.Weight * 2)
            .Map(dest => dest.Type, src => (Types)src.Type)
            .Map(dest => dest.Name, src => $"{src.Name} - {src.Weight} - {src.Age}")
            .Map(dest => dest.SpareTheProduct, src => src.SpareProduct.Adapt <Product, ProductViewModel>())
            .Map(dest => dest.Description, src => $"{src.Name} - {src.Id}");

            TypeAdapterConfig <User, UserViewModel>
            .NewConfig()
            .Map(dest => dest.BelongTo, src => src.Role.Adapt <Role, RoleViewModel>());

            TypeAdapterConfig <Author, AuthorViewModel>
            .NewConfig()
            .Map(dest => dest.OwnedArticles, src => src.Articles.Adapt <List <Article>, List <ArticleViewModel> >());
        }
コード例 #14
0
        public void Derived_Class_Stops_At_First_Valid_Base_Configuration()
        {
            TypeAdapterConfig <SimplePoco, SimpleDto> .NewConfig()
            .Map(dest => dest.Name, src => src.Name + "_Suffix")
            .Compile();

            TypeAdapterConfig <DerivedPoco, SimpleDto> .NewConfig()
            .Map(dest => dest.Name, src => src.Name + "_Derived")
            .Compile();

            TypeAdapterConfig <DoubleDerivedPoco, SimpleDto> .Clear();

            var source = new DoubleDerivedPoco
            {
                Id   = new Guid(),
                Name = "SourceName"
            };

            var dto = TypeAdapter.Adapt <SimpleDto>(source);

            dto.Id.ShouldEqual(source.Id);
            dto.Name.ShouldEqual(source.Name + "_Derived");
        }
コード例 #15
0
        public FlightViewModel customAdapt(FlightInstance flightInstance)
        {
            var config = new TypeAdapterConfig();

            config.NewConfig <FlightInstance, FlightViewModel>()
            .Map(
                dest => dest.OriginAirportName, src => src.FlightRoute.Origin.Name
                ).Map(
                dest => dest.DestinationAirportName, src => src.FlightRoute.Destination.Name
                ).Map(
                dest => dest.OriginCityName, src => src.FlightRoute.Origin.City.Name
                ).Map(
                dest => dest.DestinationCityName, src => src.FlightRoute.Destination.City.Name
                ).Map(
                dest => dest.FlightInstanceId, src => src.Id
                ).Map(
                dest => dest.FlightCode, src => src.Code
                );
            IAdapter adapter = new Adapter(config);
            var      flightInstanceViewModel = adapter.Adapt <FlightViewModel>(flightInstance);

            return(flightInstanceViewModel);
        }
コード例 #16
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            // Enable middleware to serve generated Swagger as a JSON endpoint.
            app.UseSwagger();

            // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
            // specifying the Swagger JSON endpoint.
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
                c.RoutePrefix = string.Empty;
            });

            //TypeAdapterConfig<City, CityDto>.NewConfig().Map(dest => dest.Name, src => src.Name);
            TypeAdapterConfig <City, CityDto> .NewConfig().Map(dest => dest.CityLanguages, src => src.CityLanguages.Select(x => x.Language));

            //CreateMap<City, CityDto>()
            //    .ForMember(
            //    dest => dest.CityLanguages,
            //    opt => opt.MapFrom(src => src.CityLanguages.Select(x => x.Language)));

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
コード例 #17
0
        public void Run()
        {
            TypeAdapterConfig <DoctorBasicUpdateModel, DoctorBasic> .NewConfig()
            .Map(des => des.DoctorPro.Language, src => src.Language)
            .Map(des => des.DoctorPro.Degree, src => src.Degree)
            .Map(des => des.DoctorPro.Certification, src => src.Certification)
            .Map(des => des.DoctorPro.Experience, src => src.Experience);

            TypeAdapterConfig <Room, RoomViewModel> .NewConfig()
            .Map(des => des.SpecialityName, src => src.Speciality.Name);

            TypeAdapterConfig <DoctorBasic, DoctorBasicViewModel> .NewConfig()
            .Map(des => des.FullName, src => src.MyUser.FullName)
            .Map(des => des.IsActive, src => src.MyUser.IsActive);

            TypeAdapterConfig <DoctorBasic, DoctorDetailVM> .NewConfig()
            .Map(des => des.IsActive, src => src.MyUser.IsActive);

            TypeAdapterConfig <Nurse, NurseViewModel> .NewConfig()
            .Map(des => des.IsActive, src => src.MyUser.IsActive);

            TypeAdapterConfig <Nurse, NurseDetailVM> .NewConfig()
            .Map(des => des.IsActive, src => src.MyUser.IsActive);

            TypeAdapterConfig <Scheduling, SchedulingViewModel> .NewConfig()
            .Map(des => des.DoctorName, src => src.Doctor.FullName)
            .Map(des => des.NurseName, src => src.Nurse == null ? "": src.Nurse.FullName)
            .Map(des => des.RoomNumber, src => src.Room.Name + " - Số phòng : " + src.Room.Number);

            TypeAdapterConfig <Scheduling, SchedulingVM2> .NewConfig()
            .Map(des => des.DoctorName, src => src.Doctor.FullName)
            .Map(des => des.NurseName, src => src.Nurse == null ? "" : src.Nurse.FullName)
            .Map(des => des.RoomName, src => src.Room.Name);

            TypeAdapterConfig <Block, BlockBookingViewModel> .NewConfig()
            .Map(des => des.Time, src => src.StartTime.ToString(@"hh\:mm"));
        }
コード例 #18
0
        public void MapToInheritedInterfaceWithoutProperties()
        {
            var config = TypeAdapterConfig.GlobalSettings;

            TypeAdapterConfig <IInheritedDtoWithoutProperties, InheritedDto> .NewConfig()
            .Map(d => d.Id, s => s.Id)
            .Map(d => d.Name, s => s.Name)
            .IgnoreNonMapped(true);

            config.Compile();

            /// doesn't reach this point
            var dto = new ImplementedDto
            {
                Id          = 1,
                Name        = "Test",
                DateOfBirth = new DateTime(1978, 12, 10),
            } as IInheritedDtoWithoutProperties;

            var idto = dto.Adapt <InheritedDto>(config);

            idto.Id.ShouldBe(dto.Id);
            idto.Name.ShouldBe(dto.Name);
            idto.DateOfBirth.ShouldBe(default);
コード例 #19
0
        public void IgnorePath()
        {
            TypeAdapterConfig <Poco, Dto> .NewConfig()
            .Map(dest => dest.Address, src => src.Child.Address)
            .Ignore(dest => dest.Address.Location);

            var poco = new Poco
            {
                Id    = Guid.NewGuid(),
                Child = new ChildPoco
                {
                    Address = new Address
                    {
                        Number   = "123",
                        Location = "10,10"
                    }
                }
            };
            var dto = poco.Adapt <Dto>();

            dto.Id.ShouldBe(poco.Id);
            dto.Address.Number.ShouldBe(poco.Child.Address.Number);
            dto.Address.Location.ShouldBeNull();
        }
コード例 #20
0
        public void ShouldCorrectlyMapServerParameters()
        {
            TypeAdapterConfig <Vs.Rules.Core.Model.IParameter, OpenApi.v1.Features.discipl.Dto.ServerParameter> .NewConfig().Compile();

            // Get The Server Model.
            var controller = new YamlScriptController();
            var result     = controller.Parse(YamlTestFileLoader.Load(@"Rijksoverheid/Zorgtoeslag.yaml"));
            var model      = result.Model;
            var parameters = new Vs.Rules.Core.ParametersCollection()
            {
                new Vs.Rules.Core.Model.Parameter("alleenstaande", "ja", Vs.Rules.Core.TypeInference.InferenceResult.TypeEnum.Boolean, ref model),
                new Vs.Rules.Core.Model.Parameter("toetsingsinkomen_aanvrager", (double)19000, Vs.Rules.Core.TypeInference.InferenceResult.TypeEnum.Double, ref model),
                new Vs.Rules.Core.Model.Parameter("vermogen_aanvrager", (double)1000, Vs.Rules.Core.TypeInference.InferenceResult.TypeEnum.Double, ref model),
                new Vs.Rules.Core.Model.Parameter("woonland", "Nederland", Vs.Rules.Core.TypeInference.InferenceResult.TypeEnum.List, ref model)
            } as Vs.Rules.Core.Interfaces.IParametersCollection;

            var apiParameters = parameters.Adapt <OpenApi.v1.Features.discipl.Dto.ServerParametersCollection>();

            Assert.True(apiParameters.Count == 4);
            for (int i = 0; i < parameters.Count; i++)
            {
                Assert.True(apiParameters[i].Name == parameters[i].Name);
                Assert.True((int)apiParameters[i].Type == (int)parameters[i].Type);
                Assert.True(apiParameters[i].Value == parameters[i].Value);
            }

            // test implicit mapping
            var serverParameters = apiParameters.Adapt <Vs.Rules.Core.ParametersCollection>();

            for (int i = 0; i < parameters.Count; i++)
            {
                Assert.True(apiParameters[i].Name == serverParameters[i].Name);
                Assert.True((int)apiParameters[i].Type == (int)serverParameters[i].Type);
                Assert.True(apiParameters[i].Value == serverParameters[i].Value);
            }
        }
コード例 #21
0
ファイル: PropertyMap.cs プロジェクト: LawrenceLau2020/PIMS
        public void Register(TypeAdapterConfig config)
        {
            config.NewConfig <Entity.Views.Property, Model.PropertyModel>()
            .Map(dest => dest.Type, src => src.PropertyTypeId)
            .Map(dest => dest.Classification, src => src.Classification)
            .Map(dest => dest.Name, src => src.Name)
            .Map(dest => dest.Description, src => src.Description)
            .Map(dest => dest.Ministry, src => src.AgencyCode)
            .Map(dest => dest.Agency, src => src.SubAgency)
            .Map(dest => dest.Address, src => src.Address)
            .Map(dest => dest.AdministrativeArea, src => src.AdministrativeArea)
            .Map(dest => dest.Postal, src => src.Postal)
            .Map(dest => dest.Latitude, src => src.Location.Y)
            .Map(dest => dest.Longitude, src => src.Location.X)
            .Map(dest => dest.IsSensitive, src => src.IsSensitive)

            .Map(dest => dest.Market, src => src.Market)
            .Map(dest => dest.AssessedLand, src => src.AssessedLand)
            .Map(dest => dest.AssessedBuilding, src => src.AssessedBuilding)

            .Map(dest => dest.PID, src => src.ParcelIdentity)
            .Map(dest => dest.PIN, src => src.PIN)
            .Map(dest => dest.LandArea, src => src.LandArea)
            .Map(dest => dest.LandLegalDescription, src => src.LandLegalDescription)
            .Map(dest => dest.Zoning, src => src.Zoning)

            .Map(dest => dest.BuildingConstructionType, src => src.BuildingConstructionType)
            .Map(dest => dest.BuildingPredominateUse, src => src.BuildingPredominateUse)
            .Map(dest => dest.BuildingOccupantType, src => src.BuildingOccupantType)
            .Map(dest => dest.BuildingTenancy, src => src.BuildingTenancy)
            .Map(dest => dest.RentableArea, src => src.RentableArea)
            .Map(dest => dest.OccupantName, src => src.OccupantName)
            .Map(dest => dest.LeaseExpiry, src => src.LeaseExpiry)
            .Map(dest => dest.TransferLeaseOnSale, src => src.TransferLeaseOnSale)
            .Map(dest => dest.ProjectNumbers, src => src.ProjectNumbers.FormatProjectNumbers());
        }
コード例 #22
0
        public override async Task <Result <Page <ShopDto> > > Handle(GetShopsQuery request, CancellationToken cancellationToken)
        {
            User user = await _user.GetUserAsync();

            int count = await _context.Shops
                        .CountAsync(m => m.UserId == user.Id, cancellationToken);

            _ = TypeAdapterConfig <Shop, ShopDto> .NewConfig()
                .Map(dest => dest.Image, src => src.Image == null ? null : Convert.ToBase64String(src.Image));

            List <ShopDto> shops = await _context.Shops
                                   .Where(m => m.UserId == user.Id)
                                   .ApplyLimit(request)
                                   .Select(m => new ShopDto
            {
                Id         = m.Id,
                Name       = m.Name,
                Visibility = m.Visibility,
                Image      = m.Image == null ? null : Convert.ToBase64String(m.Image),
                Location   = new LocationDto
                {
                    PostCode     = m.Location.PostCode,
                    Country      = m.Location.Country,
                    Region       = m.Location.Region,
                    City         = m.Location.City,
                    NeighborHood = m.Location.NeighborHood,
                    Street       = m.Location.Street,
                    Address      = m.Location.Address,
                    Longitude    = m.Location.Longitude,
                    Latitude     = m.Location.Latitude
                },
                Creation = m.Creation
            }).AsNoTracking().ToListAsync(cancellationToken);

            return(Ok(shops, count));
        }
コード例 #23
0
        public void Post([FromBody] TelemetryDTO telemetrydto)
        {
            SailCloudContext context = new SailCloudContext();

            if (telemetrydto.s != default(int))
            {
                var user = new User()
                {
                    Id = telemetrydto.s
                };
                context.Users.Add(user);
            }

            TypeAdapterConfig <TelemetryDTO, Telemetry> .NewConfig()
            .Map(dest => dest.BoatId, dto => dto.b);

            Telemetry telemetry = telemetrydto.Adapt <TelemetryDTO, Telemetry>();

            if (telemetry != default(Telemetry))
            {
                if (telemetry.BoatId > 0)
                {
                    if (!context.Boats.Any(b => b.Id == telemetry.BoatId))
                    {
                        var boat = new Boat()
                        {
                            Id = telemetry.BoatId
                        };
                        context.Boats.Add(boat);
                    }
                }
                telemetry.t = DateTime.Now;
                context.Telemetries.Add(telemetry);
                context.SaveChanges();
            }
        }
コード例 #24
0
        public void should_mapping_home_dto_list_in_linq()
        {
            var typeAdapterConfig = TypeAdapterConfig <Address, AddressDto> .NewConfig()
                                    .MapWith(source => new AddressDto(source.Name))
                                    .Config;

            var addresses = new List <Address>();

            for (int i = 0; i < 10; i++)
            {
                addresses.Add(new Address {
                    Id = i, Name = $"home{i}"
                });
            }

            var addressDtos = addresses.Where(h => h.Id < 5).AsQueryable().ProjectToType <AddressDto>(typeAdapterConfig)
                              .ToList();

            addressDtos.Count.ShouldBe(5);
            for (int i = 0; i < 5; i++)
            {
                addressDtos[i].Name.ShouldBe($"home{i}");
            }
        }
コード例 #25
0
ファイル: WhenCloningConfig.cs プロジェクト: wk-j/mapster
        public void Clone()
        {
            TypeAdapterConfig <SimplePoco, SimpleDto> .NewConfig()
            .Map(dest => dest.Name, src => "a");

            var poco = new SimplePoco
            {
                Id   = Guid.NewGuid(),
                Name = "test",
            };
            var result = TypeAdapter.Adapt <SimpleDto>(poco);

            result.Name.ShouldBe("a");

            var config = TypeAdapterConfig.GlobalSettings.Clone();
            var global = TypeAdapterConfig.GlobalSettings;

            config.ShouldNotBeSameAs(global);
            config.Default.ShouldNotBeSameAs(global.Default);
            config.Default.Settings.ShouldNotBeSameAs(global.Default.Settings);
            config.RuleMap.ShouldNotBeSameAs(global.RuleMap);
            foreach (var kvp in config.RuleMap)
            {
                var globalRule = global.RuleMap[kvp.Key];
                kvp.Value.ShouldNotBeSameAs(globalRule);
                kvp.Value.Settings.ShouldNotBeSameAs(globalRule.Settings);
            }
            config.Rules.ShouldNotBeSameAs(global.Rules);
            for (var i = 0; i < config.Rules.Count; i++)
            {
                config.Rules[i].ShouldNotBeSameAs(global.Rules[i]);
                config.Rules[i].Settings.ShouldNotBeSameAs(global.Rules[i].Settings);
            }
            config.Rules.Any(rule => object.ReferenceEquals(rule.Settings, config.Default.Settings)).ShouldBeTrue();
            config.Rules.ShouldContain(config.RuleMap[new TypeTuple(typeof(SimplePoco), typeof(SimpleDto))]);
        }
コード例 #26
0
        public static void Init()
        {
            TypeAdapterConfig <Product, ProductViewModel>
            .NewConfig()
            .Map(dest => dest.DefaultSharedOption, src => TypeAdapter.Adapt <ProductVariant, ProductVariantViewModel>(src.DefaultOption));

            TypeAdapterConfig <Test, TestViewModel>
            .NewConfig()
            .Map(dest => dest.Age, src => src.Age)
            .Map(dest => dest.Weight, src => src.Weight * 2)
            .Map(dest => dest.Type, src => (Types)src.Type)
            .Map(dest => dest.Name, src => string.Format("{0} - {1} - {2}", src.Name, src.Weight, src.Age))
            .Map(dest => dest.Name, src => string.Format("{0} - {1} - {2}", src.Name, src.Weight, src.Age))
            .Map(dest => dest.SpareTheProduct, src => TypeAdapter.Adapt <Product, ProductViewModel>(src.SpareProduct))
            .Map(dest => dest.Description, src => string.Format("{0} - {1}", src.Name, src.Id));

            TypeAdapterConfig <User, UserViewModel>
            .NewConfig()
            .Map(dest => dest.BelongTo, src => TypeAdapter.Adapt <Role, RoleViewModel>(src.Role));

            TypeAdapterConfig <Author, AuthorViewModel>
            .NewConfig()
            .Map(dest => dest.OwnedArticles, src => TypeAdapter.Adapt <List <Article>, List <ArticleViewModel> >(src.Articles));
        }
コード例 #27
0
        public TDestination Map <TDestination>(object source)
        {
            TypeAdapterConfig typeAdapterConfig = TypeAdapterConfig <object, TDestination> .NewConfig().PreserveReference(true).Config;

            return(source.Adapt <TDestination>(typeAdapterConfig));
        }
コード例 #28
0
    public TDestination Map <TSource, TDestination>(TSource source, TDestination destination)
    {
        TypeAdapterConfig <TSource, TDestination> .NewConfig().IgnoreNullValues(true).MaxDepth(3);

        return(TypeAdapter.Adapt(source, destination));
    }
コード例 #29
0
 public static void Configure()
 {
     TypeAdapterConfig <EnterpriseIndex, EnterpriseIndexDto> .NewConfig();
 }
コード例 #30
0
 public void Register(TypeAdapterConfig config)
 {
     config.NewConfig <IdentityError, IError>()
     .MapWith((src) => new Error(ErrorType.Validation, src.Description));
 }
コード例 #31
0
ファイル: BuildingMap.cs プロジェクト: ychung-mot/PIMS
        public void Register(TypeAdapterConfig config)
        {
            config.NewConfig <Entity.Building, Model.BuildingModel>()
            .Map(dest => dest.Id, src => src.Id)
            .Map(dest => dest.ParcelId, src => src.GetParcelId())
            .Map(dest => dest.ProjectWorkflow, src => src.GetLatestWorkflowCode())
            .Map(dest => dest.ProjectStatus, src => src.GetLatestProjectStatus())
            .Map(dest => dest.ProjectNumbers, src => JsonSerializer.Deserialize <IEnumerable <string> >(src.ProjectNumbers ?? "[]", _serializerOptions))
            .Map(dest => dest.ClassificationId, src => src.ClassificationId)
            .Map(dest => dest.Classification, src => src.Classification.Name)
            .Map(dest => dest.EncumbranceReason, src => src.EncumbranceReason)
            .Map(dest => dest.AgencyId, src => src.AgencyId)
            .Map(dest => dest.Agency, src => AgencyConverter.ConvertAgency(src.Agency))
            .Map(dest => dest.SubAgency, src => AgencyConverter.ConvertSubAgency(src.Agency))
            .Map(dest => dest.AgencyFullName, src => AgencyConverter.ConvertAgencyFullName(src.Agency))
            .Map(dest => dest.SubAgencyFullName, src => AgencyConverter.ConvertSubAgencyFullName(src.Agency))
            .Map(dest => dest.Name, src => src.Name)
            .Map(dest => dest.Description, src => src.Description)
            .Map(dest => dest.Latitude, src => src.Location.Y)
            .Map(dest => dest.Longitude, src => src.Location.X)
            .Map(dest => dest.Address, src => src.Address)
            .Map(dest => dest.BuildingConstructionTypeId, src => src.BuildingConstructionTypeId)
            .Map(dest => dest.BuildingConstructionType, src => src.GetConstructionType())
            .Map(dest => dest.BuildingOccupantTypeId, src => src.BuildingOccupantTypeId)
            .Map(dest => dest.BuildingOccupantType, src => src.GetOccupantType())
            .Map(dest => dest.BuildingPredominateUseId, src => src.BuildingPredominateUseId)
            .Map(dest => dest.BuildingPredominateUse, src => src.GetPredominateUse())
            .Map(dest => dest.BuildingTenancy, src => src.BuildingTenancy)
            .Map(dest => dest.BuildingTenancyUpdatedOn, src => src.BuildingTenancyUpdatedOn)
            .Map(dest => dest.BuildingFloorCount, src => src.BuildingFloorCount)
            .Map(dest => dest.LeaseExpiry, src => src.LeaseExpiry)
            .Map(dest => dest.OccupantName, src => src.OccupantName)
            .Map(dest => dest.RentableArea, src => src.RentableArea)
            .Map(dest => dest.TotalArea, src => src.TotalArea)
            .Map(dest => dest.IsSensitive, src => src.IsSensitive)
            .Map(dest => dest.Evaluations, src => src.Evaluations)
            .Map(dest => dest.Fiscals, src => src.Fiscals)
            .Map(dest => dest.Parcels, src => src.Parcels)
            .AfterMapping((src, dest) =>
            {
                if (src.LeasedLandMetadata == null)
                {
                    dest.LeasedLandMetadata = new List <Model.LeasedLandMetadataModel>();
                    return;
                }
                var metadata = JsonSerializer.Deserialize <IEnumerable <Entity.Models.LeasedLandMetadataModel> >(src.LeasedLandMetadata, _serializerOptions);

                dest.LeasedLandMetadata = metadata.Where(m => m != null).Select(l => new Model.LeasedLandMetadataModel {
                    OwnershipNote = l.OwnershipNote, ParcelId = l.ParcelId, Type = (int)l.Type
                });
            })
            .Inherits <Entity.BaseEntity, BModel.BaseModel>();

            config.NewConfig <Model.BuildingModel, Entity.Building>()
            .Map(dest => dest.Id, src => src.Id)
            .Map(dest => dest.Parcels, src => src.Parcels)
            .Map(dest => dest.ProjectNumbers, src => JsonSerializer.Serialize <IEnumerable <string> >(src.ProjectNumbers ?? Enumerable.Empty <string>(), _serializerOptions))
            .Map(dest => dest.ClassificationId, src => src.ClassificationId)
            .Map(dest => dest.EncumbranceReason, src => src.EncumbranceReason)
            .Map(dest => dest.AgencyId, src => src.AgencyId)
            .Map(dest => dest.Name, src => src.Name)
            .Map(dest => dest.Description, src => src.Description)
            .Map(dest => dest.Location, src => src)
            .Map(dest => dest.AddressId, src => src.Address == null ? 0 : src.Address.Id)
            .Map(dest => dest.Address, src => src.Address)
            .Map(dest => dest.BuildingConstructionTypeId, src => src.BuildingConstructionTypeId)
            .Map(dest => dest.BuildingOccupantTypeId, src => src.BuildingOccupantTypeId)
            .Map(dest => dest.BuildingPredominateUseId, src => src.BuildingPredominateUseId)
            .Map(dest => dest.BuildingTenancy, src => src.BuildingTenancy)
            .Map(dest => dest.BuildingTenancyUpdatedOn, src => src.BuildingTenancyUpdatedOn)
            .Map(dest => dest.BuildingFloorCount, src => src.BuildingFloorCount)
            .Map(dest => dest.LeaseExpiry, src => src.LeaseExpiry)
            .Map(dest => dest.OccupantName, src => src.OccupantName)
            .Map(dest => dest.RentableArea, src => src.RentableArea)
            .Map(dest => dest.TotalArea, src => src.TotalArea)
            .Map(dest => dest.IsSensitive, src => src.IsSensitive)
            .Map(dest => dest.Evaluations, src => src.Evaluations)
            .Map(dest => dest.Fiscals, src => src.Fiscals)
            .AfterMapping((src, dest) =>
            {
                var metadata = JsonSerializer.Serialize <IEnumerable <Model.LeasedLandMetadataModel> >(src.LeasedLandMetadata, _serializerOptions);

                dest.LeasedLandMetadata = metadata;
            })
            .Inherits <BModel.BaseModel, Entity.BaseEntity>();

            config.NewConfig <Model.BuildingModel, NetTopologySuite.Geometries.Point>()
            .ConstructUsing(src => Dal.Helpers.GeometryHelper.CreatePoint(src.Longitude, src.Latitude));
        }
コード例 #32
0
 public void Register(TypeAdapterConfig config)
 {
     config.NewConfig <Class, ClassDto>()
     .Map(dest => dest.Type, src => src.Type.ToString());
 }
コード例 #33
0
        public static void Initialize()
        {
            #region Region

            TypeAdapterConfig <Model.Region, DTO.Region>
            .NewConfig();

            TypeAdapterConfig <DTO.Region, Model.Region>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Region, Model.Region>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <RegionRequest, Model.Region>
            .NewConfig();

            TypeAdapterConfig <Model.Region, RegionResponse>
            .NewConfig();

            #endregion

            #region Company

            TypeAdapterConfig <Model.Company, DTO.Company>
            .NewConfig();

            TypeAdapterConfig <DTO.Company, Model.Company>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Company, Model.Company>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <CompanyRequest, Model.Company>
            .NewConfig();

            TypeAdapterConfig <Model.Company, CompanyResponse>
            .NewConfig();

            #endregion

            #region Branch

            TypeAdapterConfig <Model.Branch, DTO.Branch>
            .NewConfig();

            TypeAdapterConfig <DTO.Branch, Model.Branch>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Branch, Model.Branch>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <BranchRequest, Model.Branch>
            .NewConfig();

            TypeAdapterConfig <Model.Branch, BranchResponse>
            .NewConfig();

            #endregion

            #region Department

            TypeAdapterConfig <Model.Department, DTO.Department>
            .NewConfig();

            TypeAdapterConfig <DTO.Department, Model.Department>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Department, Model.Department>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <DepartmentRequest, Model.Department>
            .NewConfig();

            TypeAdapterConfig <Model.Department, DepartmentResponse>
            .NewConfig();

            #endregion

            #region User

            TypeAdapterConfig <Model.User, DTO.User>
            .NewConfig();

            TypeAdapterConfig <DTO.User, Model.User>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.User, Model.User>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status)
            .IgnoreMember(dest => dest.UserName)
            .IgnoreMember(dest => dest.Password)
            .IgnoreMember(dest => dest.PublicKey)
            .IgnoreMember(dest => dest.Time);

            TypeAdapterConfig <UserRequest, Model.User>
            .NewConfig();

            TypeAdapterConfig <Model.User, UserResponse>
            .NewConfig();

            #endregion

            #region Disease

            TypeAdapterConfig <Model.Disease, DTO.Disease>
            .NewConfig();

            TypeAdapterConfig <DTO.Disease, Model.Disease>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Disease, Model.Disease>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <DiseaseRequest, Model.Disease>
            .NewConfig();

            TypeAdapterConfig <Model.Disease, DiseaseResponse>
            .NewConfig();

            #endregion

            #region Warning

            TypeAdapterConfig <Model.Warning, DTO.Warning>
            .NewConfig();

            TypeAdapterConfig <DTO.Warning, Model.Warning>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Warning, Model.Warning>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <WarningRequest, Model.Warning>
            .NewConfig();

            TypeAdapterConfig <Model.Warning, WarningResponse>
            .NewConfig();

            #endregion

            #region Job

            TypeAdapterConfig <Model.Job, DTO.Job>
            .NewConfig();

            TypeAdapterConfig <DTO.Job, Model.Job>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Job, Model.Job>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <JobRequest, Model.Job>
            .NewConfig();

            TypeAdapterConfig <Model.Job, JobResponse>
            .NewConfig();

            #endregion

            #region Tip

            TypeAdapterConfig <Model.Tip, DTO.Tip>
            .NewConfig();

            TypeAdapterConfig <DTO.Tip, Model.Tip>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Tip, Model.Tip>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <TipRequest, Model.Tip>
            .NewConfig();

            TypeAdapterConfig <Model.Tip, TipResponse>
            .NewConfig();

            #endregion

            #region Dealer

            TypeAdapterConfig <Model.Dealer, DTO.Dealer>
            .NewConfig();

            TypeAdapterConfig <DTO.Dealer, Model.Dealer>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Dealer, Model.Dealer>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <DealerRequest, Model.Dealer>
            .NewConfig();

            TypeAdapterConfig <Model.Dealer, DealerResponse>
            .NewConfig();

            #endregion

            #region Saucer

            TypeAdapterConfig <Model.Saucer, DTO.Saucer>
            .NewConfig();

            TypeAdapterConfig <DTO.Saucer, Model.Saucer>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Saucer, Model.Saucer>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <SaucerRequest, Model.Saucer>
            .NewConfig();

            TypeAdapterConfig <Model.Saucer, SaucerResponse>
            .NewConfig();

            #endregion

            #region SaucerMultimedia

            TypeAdapterConfig <Model.SaucerMultimedia, DTO.SaucerMultimedia>
            .NewConfig()
            .MapFrom(dest => dest.Path, src => MapperResolver.MultimediaPath(src.Path));

            TypeAdapterConfig <DTO.SaucerMultimedia, Model.SaucerMultimedia>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.SaucerMultimedia, Model.SaucerMultimedia>
            .NewConfig()
            .IgnoreMember(dest => dest.Path)
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <SaucerMultimediaRequest, Model.SaucerMultimedia>
            .NewConfig();

            TypeAdapterConfig <Model.SaucerMultimedia, SaucerMultimediaResponse>
            .NewConfig()
            .MapFrom(dest => dest.Path, src => MapperResolver.MultimediaPath(src.Path));

            #endregion

            #region IngredientGroup

            TypeAdapterConfig <Model.IngredientGroup, DTO.IngredientGroup>
            .NewConfig();

            TypeAdapterConfig <DTO.IngredientGroup, Model.IngredientGroup>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.IngredientGroup, Model.IngredientGroup>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <IngredientGroupRequest, Model.IngredientGroup>
            .NewConfig();

            TypeAdapterConfig <Model.IngredientGroup, IngredientGroupResponse>
            .NewConfig();

            #endregion

            #region Ingredient

            TypeAdapterConfig <Model.Ingredient, DTO.Ingredient>
            .NewConfig();

            TypeAdapterConfig <DTO.Ingredient, Model.Ingredient>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Ingredient, Model.Ingredient>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <IngredientRequest, Model.Ingredient>
            .NewConfig();

            TypeAdapterConfig <Model.Ingredient, IngredientResponse>
            .NewConfig();

            #endregion

            #region GenericEntityRelation

            TypeAdapterConfig <RelationRequest, Model.BranchDealer>
            .NewConfig()
            .MapFrom(dest => dest.BranchId, src => src.FirstReference)
            .MapFrom(dest => dest.DealerId, src => src.SecondReference);

            TypeAdapterConfig <RelationRequest, Model.DealerSaucer>
            .NewConfig()
            .MapFrom(dest => dest.DealerId, src => src.FirstReference)
            .MapFrom(dest => dest.SaucerId, src => src.SecondReference);

            #endregion

            #region SaucerConfiguration

            TypeAdapterConfig <Model.SaucerConfiguration, DTO.SaucerConfiguration>
            .NewConfig();

            TypeAdapterConfig <DTO.SaucerConfiguration, Model.SaucerConfiguration>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.SaucerConfiguration, Model.SaucerConfiguration>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <SaucerConfigurationRequest, Model.SaucerConfiguration>
            .NewConfig();

            TypeAdapterConfig <Model.SaucerConfiguration, SaucerConfigurationResponse>
            .NewConfig();

            #endregion

            #region Worker

            TypeAdapterConfig <Model.Worker, DTO.Worker>
            .NewConfig();

            TypeAdapterConfig <DTO.Worker, Model.Worker>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Worker, Model.Worker>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status)
            .IgnoreMember(dest => dest.PublicKey)
            .IgnoreMember(dest => dest.Time);

            TypeAdapterConfig <WorkerRequest, Model.Worker>
            .NewConfig();

            TypeAdapterConfig <Model.Worker, WorkerResponse>
            .NewConfig();

            #endregion

            #region Menu

            TypeAdapterConfig <Model.Menu, DTO.Menu>
            .NewConfig()
            .MapFrom(dest => dest.StartDate, src => src.StartDate.ToDateString())
            .MapFrom(dest => dest.EndDate, src => src.EndDate.ToDateString());

            TypeAdapterConfig <DTO.Menu, Model.Menu>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Menu, Model.Menu>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <MenuRequest, Model.Menu>
            .NewConfig();

            TypeAdapterConfig <Model.Menu, MenuResponse>
            .NewConfig()
            .MapFrom(dest => dest.StartDate, src => src.StartDate.ToDateString())
            .MapFrom(dest => dest.EndDate, src => src.EndDate.ToDateString());

            #endregion

            #region Reservation

            TypeAdapterConfig <Model.Reservation, DTO.Reservation>
            .NewConfig()
            .MapFrom(dest => dest.Date, src => src.Date.ToDateString());

            TypeAdapterConfig <DTO.Reservation, Model.Reservation>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Reservation, Model.Reservation>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.SaucerId)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <ReservationRequest, Model.Reservation>
            .NewConfig()
            .MapFrom(dest => dest.Date, src => src.Date.DateStringToDateTime());

            TypeAdapterConfig <Model.Reservation, ReservationResponse>
            .NewConfig()
            .MapFrom(dest => dest.Date, src => src.Date.ToDateString());

            #endregion

            #region Role

            TypeAdapterConfig <Model.Role, DTO.Role>
            .NewConfig();

            TypeAdapterConfig <DTO.Role, Model.Role>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.Role, Model.Role>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <RoleRequest, Model.Role>
            .NewConfig();

            TypeAdapterConfig <Model.Role, RoleResponse>
            .NewConfig();

            #endregion

            #region RoleConfiguration

            TypeAdapterConfig <Model.RoleConfiguration, DTO.RoleConfiguration>
            .NewConfig();

            TypeAdapterConfig <DTO.RoleConfiguration, Model.RoleConfiguration>
            .NewConfig()
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <Model.RoleConfiguration, Model.RoleConfiguration>
            .NewConfig()
            .IgnoreMember(dest => dest.Id)
            .IgnoreMember(dest => dest.CreatedBy)
            .IgnoreMember(dest => dest.CreatedOn)
            .IgnoreMember(dest => dest.ModifiedBy)
            .IgnoreMember(dest => dest.ModifiedOn)
            .IgnoreMember(dest => dest.IsActive)
            .IgnoreMember(dest => dest.Status);

            TypeAdapterConfig <RoleConfigurationRequest, Model.RoleConfiguration>
            .NewConfig();

            TypeAdapterConfig <Model.RoleConfiguration, RoleConfigurationResponse>
            .NewConfig();

            #endregion

            #region Permission

            TypeAdapterConfig <Model.Permission, DTO.Permission>
            .NewConfig();

            TypeAdapterConfig <DTO.Permission, Model.Permission>
            .NewConfig();

            TypeAdapterConfig <Model.Permission, Model.Permission>
            .NewConfig()
            .IgnoreMember(dest => dest.Id);

            #endregion

            #region AccessLevel

            TypeAdapterConfig <Model.AccessLevel, DTO.AccessLevel>
            .NewConfig();

            TypeAdapterConfig <DTO.AccessLevel, Model.AccessLevel>
            .NewConfig();

            TypeAdapterConfig <Model.AccessLevel, Model.AccessLevel>
            .NewConfig()
            .IgnoreMember(dest => dest.Id);

            TypeAdapterConfig <Model.AccessLevel, AccessLevelResponse>
            .NewConfig();

            #endregion

            #region ReservationDetail

            TypeAdapterConfig <Model.ReservationDetail, DTO.ReservationDetail>
            .NewConfig();

            TypeAdapterConfig <Model.ReservationDetail, ReservationDetailResponse>
            .NewConfig();

            #endregion
        }