using IStation.Untity; using Mapster; using System; using System.Text; namespace IStation.Application { /// /// /// public class Mapper : IRegister { /// /// /// /// public void Register(TypeAdapterConfig config) { #region 恩普特 config.ForType() .Map(dest => dest.DataTime, src => DateTime.Now) .Map(dest => dest.SrcTime, src => src.DataTime) .Map(dest => dest.DataStatus, src => src.Rpm > 0 ? new List { MonitorRecord.Status_Run } : new List { MonitorRecord.Status_Shut}); config.ForType(); config.ForType() .Map(dest=>dest.DataTime,src=>DateTime.SpecifyKind(src.DataTime, DateTimeKind.Unspecified).ToString("O")) .Map(dest => dest.SendTime, src => DateTime.SpecifyKind(src.SrcTime, DateTimeKind.Unspecified).ToString("O")) .Map(dest => dest.Id, src =>CreateDataId(src.ObjectId,src.DataTime)); #endregion #region 航天 config.ForType() .Map(dest => dest.DataTime, src => DateTime.Now) .Map(dest => dest.SrcTime, src => src.DataTime) .Map(dest => dest.DataStatus, src => src.Speed>0?new List { MonitorRecord.Status_Run}:new List { MonitorRecord.Status_Shut}); config.ForType(); config.ForType(); #endregion } //创建数据Id private static string CreateDataId(string objectId, DateTime dataTime) { StringBuilder sb = new StringBuilder(); sb.Append(objectId); sb.Append(dataTime.ToString("yyyy-MM-dd HH:mm:ss")); return Md5Cryption.Encrypt32(sb.ToString()); } } }