public static class ObjectTranslator
{
/// <summary>
/// 实体转换
/// </summary>
/// <typeparam name="TFrom">源类型</typeparam>
/// <typeparam name="TTo">目标类型</typeparam>
/// <param name="from">源对象</param>
/// <returns>目标对象</returns>
public static TTo Map<TFrom, TTo>(this TFrom from)
{
return ObjectMapperManager.DefaultInstance.GetMapper<TFrom, TTo>(
new DefaultMapConfig().NullSubstitution<decimal?, decimal>((value) => 0)
.NullSubstitution<DateTime?, DateTime>((value) => DateTime.MinValue.Date)
.NullSubstitution<long?, long>((value) => 0)).Map(from);
}
public static IList<TToItem> MapList<TFromItem, TToItem>(this IList<TFromItem> from)
where TToItem : new()
where TFromItem : new()
{
List<TToItem> list = null;
if (from != null && from.Count > 0)
{
list = from.Select(fromItem => ObjectMapperManager.DefaultInstance.GetMapper<TFromItem, TToItem>(
new DefaultMapConfig().NullSubstitution<decimal?, decimal>((value) => 0)
.NullSubstitution<DateTime?, DateTime>((value) => DateTime.MinValue.Date)
.NullSubstitution<long?, long>((value) => 0)).Map(fromItem)).ToList();
}
return list;
{
/// <summary>
/// 实体转换
/// </summary>
/// <typeparam name="TFrom">源类型</typeparam>
/// <typeparam name="TTo">目标类型</typeparam>
/// <param name="from">源对象</param>
/// <returns>目标对象</returns>
public static TTo Map<TFrom, TTo>(this TFrom from)
{
return ObjectMapperManager.DefaultInstance.GetMapper<TFrom, TTo>(
new DefaultMapConfig().NullSubstitution<decimal?, decimal>((value) => 0)
.NullSubstitution<DateTime?, DateTime>((value) => DateTime.MinValue.Date)
.NullSubstitution<long?, long>((value) => 0)).Map(from);
}
public static IList<TToItem> MapList<TFromItem, TToItem>(this IList<TFromItem> from)
where TToItem : new()
where TFromItem : new()
{
List<TToItem> list = null;
if (from != null && from.Count > 0)
{
list = from.Select(fromItem => ObjectMapperManager.DefaultInstance.GetMapper<TFromItem, TToItem>(
new DefaultMapConfig().NullSubstitution<decimal?, decimal>((value) => 0)
.NullSubstitution<DateTime?, DateTime>((value) => DateTime.MinValue.Date)
.NullSubstitution<long?, long>((value) => 0)).Map(fromItem)).ToList();
}
return list;
}
需要EmitMapper.dll