using AutoMapper; using Edge.Core.Database.Models; using System; using System.Collections.Generic; using System.Text; namespace Dfs.WayneChina.FairbanksRTData.UniversalApiModels { public class AutoMapperProfile : Profile { public const string AppDataOwner = "Fairbanks"; public const string AppDataType = "UploadHistory"; public const string UploadConfig = "UploadConfig"; public AutoMapperProfile() { ShouldMapField = fi => false; CreateMap() .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.IntProperty0)) .ForMember(dest => dest.TimeStamp, opt => opt.MapFrom(src => src.TimeStampProperty0)) .ForMember(dest => dest.FileName, opt => opt.MapFrom(src => src.StrProperty0)) .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StrProperty1)) .ForMember(dest => dest.Remark, opt => opt.MapFrom(src => src.StrProperty2)) .ReverseMap() .AfterMap((dto, dbEntity) => { dbEntity.Type = AppDataType; dbEntity.Owner = AppDataOwner; }); CreateMap() .ForMember(dest => dest.SiteId, opt => opt.MapFrom(src => src.StrProperty0)) .ForMember(dest => dest.DeviceId, opt => opt.MapFrom(src => src.StrProperty1)) .ForMember(dest => dest.Host, opt => opt.MapFrom(src => src.StrProperty2)) .ForMember(dest => dest.Port, opt => opt.MapFrom(src => src.IntProperty1)) .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.StrProperty3)) .ForMember(dest => dest.Password, opt => opt.MapFrom(src => src.StrProperty4)) .ForMember(dest => dest.TankReadInterval, opt => opt.MapFrom(src => src.IntProperty2)) .ForMember(dest => dest.UploadInterval, opt => opt.MapFrom(src => src.IntProperty3)) .ReverseMap() .AfterMap((dto, dbEntity) => { dbEntity.Type = UploadConfig; dbEntity.Owner = AppDataOwner; }); } } }