using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_Tasks.ConveyorLineJob;

namespace WIDESEAWCS_WCSServer.Filter
{
    public class CustomProfile : Profile
    {
        /// <summary>
        /// 配置构造函数,用来创建关系映射
        /// </summary>
        public CustomProfile()
        {
            CreateMap<Dt_DeviceInfo, DeviceInfoDTO>();
            CreateMap<WMSTaskDTO, Dt_Task>().ForMember(a => a.WMSId, b => b.MapFrom(b => b.Id));
            CreateMap<Dt_Task, ConveyorLineTaskCommand>()
                .ForMember(a => a.TargetAddress, b => b.MapFrom(b => b.NextAddress))
                .ForMember(a => a.Barcode, b => b.MapFrom(b => b.PalletCode))
                .ForMember(a => a.TaskNum, b => b.MapFrom(b => b.TaskNum));
            CreateMap<Dt_Task, ConveyorLineTaskCommand_After>()
                .ForMember(a => a.ConveyorLineBarcode, b => b.MapFrom(b => b.PalletCode))
                .ForMember(a => a.ConveyorLineTaskNum, b => b.MapFrom(b => b.TaskNum))
                .ForMember(a => a.ConveyorLineTargetAddress, b => b.MapFrom(b => b.NextAddress));
            CreateMap<Dt_Task, Dt_Task_Hty>();
        }
    }
}