track/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs

66 lines
2.6 KiB
C#

using AutoMapper;
using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using SJZY.Track.Application.Contract.Dtos.TrackOrder;
using SJZY.Track.Domain.Aggregates.OrderAggregate;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
using SJZY.Track.Domain.Dtos.Order;
using SJZY.Track.Domain.Enums;
using Volo.Abp.AutoMapper;
namespace SJZY.Track.Application.AutoMapper;
public class OrderAutoMapperProfile : Profile
{
public OrderAutoMapperProfile()
{
CreateMap<UpsertOrderInput, OrderEntity>(MemberList.None);
CreateMap<UpdateOrderInput, OrderEntity>(MemberList.None);
CreateMap<OrderFlightInfo, OrderFlightEntity>(MemberList.None);
CreateMap<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(MemberList.None);
CreateMap<TrackOrderVO, TrackOrderDto>(MemberList.None);
CreateMap<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(MemberList.None);
CreateMap<TrackDetailsIndex, TrackOrderDetailDto>(MemberList.None).Ignore(dest => dest.TrackTimeZone)
.ForMember(dest => dest.Code, opt => opt.MapFrom(m => m.TrackCode))
.ForMember(dest => dest.Content, opt => opt.MapFrom(m => m.TrackContent))
.ForMember(dest => dest.EnContent, opt => opt.MapFrom(m => m.TrackEnContent))
.ForMember(dest => dest.TrackTimeZoneValue, opt => opt.MapFrom(m => m.TrackTimeZone));
CreateMap<FileItem, FileItemDto>(MemberList.None);
CreateMap<TrackPushRecordIndex, TrackPushRecordOutput>(MemberList.None);
}
/// <summary>
/// 通过类型int获取枚举描述
/// </summary>
/// <param name="type">1 问题类型枚举 2 订单枚举</param>
/// <param name="value"></param>
/// <returns></returns>
public static string GetEnumDescription(int type, int value)
{
string enumDescription = string.Empty;
if (type == 1)
{
TrackProblemType trackProblem = (TrackProblemType) value; // 将int值转换为枚举
if (trackProblem.GetDescription().IsNullOrWhiteSpace())
enumDescription = "";
else
enumDescription = trackProblem.GetDescription(); // 获取描述标记
}
else
{
OrderType orderType = (OrderType) value; // 将int值转换为枚举
if (orderType.GetDescription().IsNullOrWhiteSpace())
enumDescription = "";
else
enumDescription = orderType.GetDescription(); // 获取描述标记
}
return enumDescription;
}
}