AutoMapperProfile.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using AutoMapper;
  2. using Edge.Core.Database.Models;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace Dfs.WayneChina.FairbanksRTData.UniversalApiModels
  7. {
  8. public class AutoMapperProfile : Profile
  9. {
  10. public const string AppDataOwner = "Fairbanks";
  11. public const string AppDataType = "UploadHistory";
  12. public const string UploadConfig = "UploadConfig";
  13. public AutoMapperProfile()
  14. {
  15. ShouldMapField = fi => false;
  16. CreateMap<GenericData, UploadRecord>()
  17. .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.IntProperty0))
  18. .ForMember(dest => dest.TimeStamp, opt => opt.MapFrom(src => src.TimeStampProperty0))
  19. .ForMember(dest => dest.FileName, opt => opt.MapFrom(src => src.StrProperty0))
  20. .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StrProperty1))
  21. .ForMember(dest => dest.Remark, opt => opt.MapFrom(src => src.StrProperty2))
  22. .ReverseMap()
  23. .AfterMap((dto, dbEntity) =>
  24. {
  25. dbEntity.Type = AppDataType;
  26. dbEntity.Owner = AppDataOwner;
  27. });
  28. CreateMap<GenericData, AppConfig>()
  29. .ForMember(dest => dest.SiteId, opt => opt.MapFrom(src => src.StrProperty0))
  30. .ForMember(dest => dest.DeviceId, opt => opt.MapFrom(src => src.StrProperty1))
  31. .ForMember(dest => dest.Host, opt => opt.MapFrom(src => src.StrProperty2))
  32. .ForMember(dest => dest.Port, opt => opt.MapFrom(src => src.IntProperty1))
  33. .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.StrProperty3))
  34. .ForMember(dest => dest.Password, opt => opt.MapFrom(src => src.StrProperty4))
  35. .ForMember(dest => dest.TankReadInterval, opt => opt.MapFrom(src => src.IntProperty2))
  36. .ForMember(dest => dest.UploadInterval, opt => opt.MapFrom(src => src.IntProperty3))
  37. .ReverseMap()
  38. .AfterMap((dto, dbEntity) =>
  39. {
  40. dbEntity.Type = UploadConfig;
  41. dbEntity.Owner = AppDataOwner;
  42. });
  43. }
  44. }
  45. }