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());
}
}
}