You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.9 KiB
83 lines
2.9 KiB
2 years ago
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Threading.Tasks;
|
||
|
using AX.FireTrainingSys.DTOs;
|
||
|
using AX.FireTrainingSys.Models;
|
||
|
using Mapster;
|
||
|
|
||
|
namespace AX.FireTrainingSys
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// 类型映射。
|
||
|
/// </summary>
|
||
|
public static class EntityMapper
|
||
|
{
|
||
|
public static void Initialize()
|
||
|
{
|
||
|
TypeAdapterConfig.GlobalSettings.Default.IgnoreNullValues(true);
|
||
|
|
||
|
TypeAdapterConfig<CoursewareInfo, Courseware>
|
||
|
.ForType()
|
||
|
.Ignore(dest => dest.Id,
|
||
|
dest => dest.UserId,
|
||
|
dest => dest.ModifiedTime,
|
||
|
dest => dest.BuildingTypes,
|
||
|
dest => dest.Referenced);
|
||
|
|
||
|
TypeAdapterConfig<Courseware, CoursewareInfo>
|
||
|
.ForType()
|
||
|
.Ignore(dest => dest.BuildingTypes)
|
||
|
.Map(dest => dest.ModifiedTime,
|
||
|
src => src.ModifiedTime.ToLocalTime())
|
||
|
.Map(dest => dest.Referenced,
|
||
|
src => src.Referenced > 0)
|
||
|
.Map(dest => dest.Creator,
|
||
|
src => src.User.RealName);
|
||
|
|
||
|
TypeAdapterConfig<OrganizationInfo, Organization>
|
||
|
.ForType()
|
||
|
.Map(dest => dest.X,
|
||
|
src => src.Position.X)
|
||
|
.Map(dest => dest.Y,
|
||
|
src => src.Position.Y)
|
||
|
.Map(dest => dest.Z,
|
||
|
src => src.Position.Z);
|
||
|
|
||
|
TypeAdapterConfig<Organization, OrganizationInfo>
|
||
|
.ForType()
|
||
|
.Map(dest => dest.Position,
|
||
|
src => new Vector3(src.X ?? 0, src.Y ?? 0, src.Z ?? 0));
|
||
|
|
||
|
TypeAdapterConfig<OrganizationInfo, TemplateOrganization>
|
||
|
.ForType()
|
||
|
.Ignore(dest => dest.Id)
|
||
|
.Map(dest => dest.X,
|
||
|
src => src.Position.X)
|
||
|
.Map(dest => dest.Y,
|
||
|
src => src.Position.Y)
|
||
|
.Map(dest => dest.Z,
|
||
|
src => src.Position.Z);
|
||
|
|
||
|
TypeAdapterConfig<TemplateOrganization, OrganizationInfo>
|
||
|
.ForType()
|
||
|
.Map(dest => dest.Position,
|
||
|
src => new Vector3(src.X ?? 0, src.Y ?? 0, src.Z ?? 0));
|
||
|
|
||
|
TypeAdapterConfig<DisasterInfo, Disaster>
|
||
|
.ForType()
|
||
|
.Ignore(dest => dest.Id,
|
||
|
dest => dest.UserId,
|
||
|
dest => dest.CreationTime,
|
||
|
dest => dest.BuildingTypes);
|
||
|
|
||
|
TypeAdapterConfig<Disaster, DisasterInfo>
|
||
|
.ForType()
|
||
|
.Ignore(dest => dest.BuildingTypes)
|
||
|
.Map(dest => dest.CreationTime,
|
||
|
src => src.CreationTime.ToLocalTime())
|
||
|
.Map(dest => dest.RealName,
|
||
|
src => src.User.RealName);
|
||
|
}
|
||
|
}
|
||
|
}
|