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.
 
 
 
 
 
 

555 lines
25 KiB

using System;
using AutoMapper;
using Volo.Abp.AutoMapper;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Application;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.Application.Contracts.Iac.Qad;
using Win_in.Sfs.Wms.DataExchange.Domain.Iac.Qad;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.DataExchange.Application.Iac.Qad.Profiles;
public class QadToWmsAutoMapperProfile : Profile
{
public QadToWmsAutoMapperProfile()
{
CreateMap_InputToEntity();
CreateMap_EntityToDto();
CreateMap_asn_mstr(); //包含明细asn_det
CreateMap_bom();
CreateMap_cust_part();
CreateMap_cust();
CreateMap_inventory(); //inventory先不做
CreateMap_loc(); //Loc先不做
CreateMap_part();
CreateMap_po_mstr(); //包含明细po_det
CreateMap_prod_line(); //ProductLineCreateInput IProductLineAppService ProductionLineItemCreateInput IProductionLineItemAppService
CreateMap_sod_det(); //SaleOrderCreateInput SaleOrderDetailInput ISaleOrderAppService
CreateMap_vend_part();
CreateMap_vend();
CreateMap_Return();
CreateMap_Receipt();
//CreateMap_PrhHist();
}
#region 方法
private void CreateMap_InputToEntity()
{
CreateMap<AsnDetInput, AsnDet>().Ignore(p => p.Id);
CreateMap<AsnMstrInput, AsnMstr>()
.Ignore(p => p.Id)
.ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details));
CreateMap<ReceiptDetInput, ReceiptDet>().Ignore(p => p.Id);
CreateMap<ReceiptMstrInput, ReceiptMstr>()
.Ignore(p => p.Id)
.ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details));
CreateMap<ReturnDetInput, ReturnDet>().Ignore(p => p.Id);
CreateMap<ReturnMstrInput, ReturnMstr>()
.Ignore(p => p.Id)
.ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details));
CreateMap<BomInput, Bom>().Ignore(p => p.Id);
CreateMap<CustPartInput, CustPart>().Ignore(p => p.Id);
CreateMap<CustInput, Cust>().Ignore(p => p.Id);
CreateMap<InventoryInput, Domain.Iac.Qad.Inventory>().Ignore(p => p.Id); //inventory先不做
CreateMap<LocInput, Loc>().Ignore(p => p.Id); //Loc先不做
CreateMap<PartInput, Part>().Ignore(p => p.Id);
CreateMap<PoDetInput, PoDet>().Ignore(p => p.Id);
CreateMap<PoMstrInput, PoMstr>()
.Ignore(p => p.Id)
.ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details));
CreateMap<ProdLineInput, ProdLine>().Ignore(p => p.Id);
CreateMap<SodDetInput, SodDet>().Ignore(p => p.Id);
CreateMap<VendPartInput, VendPart>().Ignore(p => p.Id);
CreateMap<VendInput, Vend>().Ignore(p => p.Id);
CreateMap<PrhHistInput, PrhHist>().Ignore(p => p.Id);
}
private void CreateMap_EntityToDto()
{
CreateMap<AsnDet, AsnDetDto>();
CreateMap<AsnMstr, AsnMstrDto>()
.ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details));
CreateMap<Bom, BomDto>();
CreateMap<CustPart, CustPartDto>();
CreateMap<Cust, CustDto>();
CreateMap<Domain.Iac.Qad.Inventory, InventoryDto>(); //inventory先不做
CreateMap<Loc, LocDto>(); //Loc先不做
CreateMap<Part, PartDto>();
CreateMap<PoDet, PoDetDto>();
CreateMap<PoMstr, PoMstrDto>()
.ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details));
CreateMap<ProdLine, ProdLineDto>();
CreateMap<SodDet, SodDetDto>();
CreateMap<VendPart, VendPartDto>();
CreateMap<Vend, VendDto>();
CreateMap<ReturnMstr, ReturnMstrDto>();
CreateMap<ReturnDet, ReturnDetDto>();
CreateMap<ReceiptMstr, ReceiptMstrDto>();
CreateMap<ReceiptDet, ReceiptDetDto>();
CreateMap<PrhHist, PrhHistDto>();
}
private void CreateMap_Receipt()
{
//子对象
CreateMap<ReceiptDet, PurchaseReceiptNoteDetailInput>()
//.Ignore(p => p.TenantId)
.Ignore(p => p.PoNumber)
.Ignore(p => p.Qty)
.ForMember(p => p.PoLine, p => p.MapFrom(q => q.PoLine))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.PartCode))
.ForMember(p => p.Lot, p => p.MapFrom(q => q.Lot))
.ForMember(p => p.Status, p => p.MapFrom(q => q.Status))
.ForMember(p => p.LocationCode, p => p.MapFrom(q => q.Loc))
.ForMember(p => p.PackingCode, p => p.MapFrom(q => q.PackingCode))
.ForMember(p => p.ContainerCode, p => p.MapFrom(q => q.ContainerCode))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
//.ForMember(p => p.Worker, p => p.MapFrom(q => q.CreateUser))
.IgnoreIHasRecommendAndHandledTo();
//主对象
CreateMap<ReceiptMstr, PurchaseReceiptNoteEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.JobNumber)
.Ignore(p => p.Status)
.Ignore(p => p.Type)
.Ignore(p => p.PurchaseReceiptRequestNumber)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Number, p => p.MapFrom(q => q.RcNbr))
.ForMember(p => p.AsnNumber, p => p.MapFrom(q => q.AsnNbr))
.ForMember(p => p.PoNumber, p => p.MapFrom(q => q.PoNbr))
.ForMember(p => p.RpNumber, p => p.MapFrom(q => q.RpNbr))
.ForMember(p => p.SupplierCode, p => p.MapFrom(q => q.VendorCode))
//.ForMember(p => p.Status, p => p.MapFrom(q => q.Status == "0" ? EnumSupplierAsnStatus.Cancelled : EnumSupplierAsnStatus.Received))
.ForMember(p => p.ReceiveTime, p => p.MapFrom(q => q.RcTime))
.ForMember(p => p.Worker, p => p.MapFrom(q => q.RcWorker))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.Details, p => p.MapFrom(q => q.Details)) //子列表 转换成 子列表
;
}
private void CreateMap_asn_mstr()
{
//子对象
CreateMap<AsnDet, SupplierAsnDetailInput>()
//.Ignore(p => p.TenantId)
.Ignore(p => p.Qty)
//.ForMember(p => p.AsnNbr, p => p.MapFrom(q => q.AsnNbr))
.ForMember(p => p.PoNumber, p => p.MapFrom(q => q.PoNbr))
.ForMember(p => p.PoLine, p => p.MapFrom(q => q.PoLine))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.PartCode))
.ForMember(p => p.Lot, p => p.MapFrom(q => q.Lot))
//!! .ForMember(p => p.Qty, p => p.MapFrom(q => q.Qty))
//.ForMember(p => p.ProductionDate, p => p.MapFrom(q => q.ProductionDate))
//.ForMember(p => p.ShipDate, p => p.MapFrom(q => q.ShipDate))
//.ForMember(p => p.PromiseDate, p => p.MapFrom(q => q.PromiseDate))
//.ForMember(p => p.DueDate, p => p.MapFrom(q => q.DueDate))
//.ForMember(p => p.WareClass, p => p.MapFrom(q => q.WareClass))
//.ForMember(p => p.WareCode, p => p.MapFrom(q => q.WareCode))
//!! .ForMember(p => p.StdPack.PackQty, p => p.MapFrom(q => q.StdPackQty))
//!! .ForMember(p => p.Qty.Uom, p => p.MapFrom(q => q.PoUm))
//!! .ForMember(p => p.StdPack.PackUom, p => p.MapFrom(q => q.LocUm))
.ForMember(p => p.ConvertRate, p => p.MapFrom(q => q.UmConv))
//.ForMember(p => p.PartType, p => p.MapFrom(q => q.PartType))
//!! .ForMember(p => p.Batch.SupplierBatch, p => p.MapFrom(q => q.Supplierlot))
//.ForMember(p => p.Status, p => p.MapFrom(q => q.Status))
.ForMember(p => p.PackingCode, p => p.MapFrom(q => q.LabelCode))
//.ForMember(p => p.BarCode, p => p.MapFrom(q => q.EntireBarCode))
.ForMember(p => p.ContainerCode, p => p.MapFrom(q => q.PalletLabelCode))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
//.ForMember(p => p.Worker, p => p.MapFrom(q => q.CreateUser))
;
//主对象
CreateMap<AsnMstr, SupplierAsnEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.TimeWindow)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Number, p => p.MapFrom(q => q.AsnNbr))
.ForMember(p => p.RpNumber, p => p.MapFrom(q => q.RpNbr))
.ForMember(p => p.PoNumber, p => p.MapFrom(q => q.PoNbr))
.ForMember(p => p.SupplierCode, p => p.MapFrom(q => q.VendorCode))
.ForMember(p => p.Status, p => p.MapFrom(q => q.Status == "0" ? EnumSupplierAsnStatus.Cancelled : EnumSupplierAsnStatus.Received))
//!! .ForMember(p => p.Contacts.Name, p => p.MapFrom(q => q.Contacts))
//!! .ForMember(p => p.Contacts.Phone, p => p.MapFrom(q => q.Phone))
.ForMember(p => p.TruckNumber, p => p.MapFrom(q => q.TruckNbr))
.ForMember(p => p.DockCode, p => p.MapFrom(q => q.Dock))
//!! .ForMember(p => p.TimeWindow.BeginTime, p => p.MapFrom(q => q.WindowBeginTime))
//!! .ForMember(p => p.TimeWindow.BeginTime, p => p.MapFrom(q => q.WindowBeginDate))
//!! .ForMember(p => p.TimeWindow.EndTime, p => p.MapFrom(q => q.WindowEndTime))
//!! .ForMember(p => p.TimeWindow.EndTime, p => p.MapFrom(q => q.WindowEndDate))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.Details, p => p.MapFrom(q => q.Details)) //子列表 转换成 子列表
;
}
private void CreateMap_Return()
{
//子对象
CreateMap<ReturnDet, PurchaseReturnNoteDetailInput>()
//.Ignore(p => p.TenantId)
.Ignore(p => p.PoNumber)
.Ignore(p => p.Qty)
.ForMember(p => p.PoLine, p => p.MapFrom(q => q.PoLine))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.PartCode))
.ForMember(p => p.Lot, p => p.MapFrom(q => q.Lot))
.ForMember(p => p.Status, p => p.MapFrom(q => q.Status))
.ForMember(p => p.LocationCode, p => p.MapFrom(q => q.Loc))
.ForMember(p => p.PackingCode, p => p.MapFrom(q => q.PackingCode))
.ForMember(p => p.ContainerCode, p => p.MapFrom(q => q.ContainerCode))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
//.ForMember(p => p.Worker, p => p.MapFrom(q => q.CreateUser))
.IgnoreIHasRecommendAndHandledFrom();
//主对象
CreateMap<ReturnMstr, PurchaseReturnNoteEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.JobNumber)
.Ignore(p => p.Status)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Number, p => p.MapFrom(q => q.RtNbr))
.ForMember(p => p.AsnNumber, p => p.MapFrom(q => q.AsnNbr))
.ForMember(p => p.PoNumber, p => p.MapFrom(q => q.PoNbr))
.ForMember(p => p.SupplierCode, p => p.MapFrom(q => q.VendorCode))
//.ForMember(p => p.Status, p => p.MapFrom(q => q.Status == "0" ? EnumSupplierAsnStatus.Cancelled : EnumSupplierAsnStatus.Received))
.ForMember(p => p.ReturnTime, p => p.MapFrom(q => q.RtTime))
.ForMember(p => p.Worker, p => p.MapFrom(q => q.RtWorker))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.Details, p => p.MapFrom(q => q.Details)) //子列表 转换成 子列表
;
}
private void CreateMap_bom()
{
CreateMap<Bom, BomEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.DistributionType)
.Ignore(p => p.TruncType)
.Ignore(p => p.PlannedSplitRule)
.ForMember(p => p.Product, p => p.MapFrom(q => q.Parent))
.ForMember(p => p.Component, p => p.MapFrom(q => q.Component))
.ForMember(p => p.ERPOp, p => p.MapFrom(q => q.Op))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
.ForMember(p => p.Layer, p => p.NullSubstitute(0))
;
}
private void CreateMap_cust_part()
{
CreateMap<CustPart, CustomerItemEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.CustomerPackQty)
.ForMember(p => p.CustomerCode, p => p.MapFrom(q => q.CustCode))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.PartCode))
.ForMember(p => p.CustomerItemCode, p => p.MapFrom(q => q.CustPartCode));
}
private void CreateMap_cust()
{
CreateMap<Cust, CustomerEditInput>()
.Ignore(p => p.TenantId)
.ForMember(p => p.Code, p => p.MapFrom(q => q.Code))
.ForMember(p => p.Name, p => p.MapFrom(q => q.Name))
//.ForMember(p => p.Address, p => p.MapFrom(q => q.Addr1))
//.ForMember(p => p.Address, p => p.MapFrom(q => q.Addr2))
//.ForMember(p => p.Address, p => p.MapFrom(q => q.Addr3))
.ForMember(p => p.Address, p => p.MapFrom(q => q.Addr1 + q.Addr2 + q.Addr3))
.ForMember(p => p.Country, p => p.MapFrom(q => q.Country))
.ForMember(p => p.City, p => p.MapFrom(q => q.City))
.ForMember(p => p.Phone, p => p.MapFrom(q => q.Phone))
.ForMember(p => p.Fax, p => p.MapFrom(q => q.Fax))
.ForMember(p => p.PostID, p => p.MapFrom(q => q.PstId))
.ForMember(p => p.Contacts, p => p.MapFrom(q => q.Contacts))
.ForMember(p => p.Currency, p => p.MapFrom(q => q.Curr))
.ForMember(p => p.IsActive, p => p.MapFrom(q => q.Active))
//.ForMember(p => p.Type, p => p.MapFrom(q => q.Type))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
;
}
private void CreateMap_inventory()
{
//先不做
CreateMap<Domain.Iac.Qad.Inventory, ErpBalanceEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.Qty)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.Part))
.ForMember(p => p.Lot, p => p.MapFrom(q => q.Lot))
//!!.ForMember(p => p.Qty, p => p.MapFrom(q => q.Qty))
//!!.ForMember(p => p.Qty.Uom, p => p.MapFrom(q => q.Um))
.ForMember(p => p.LocationCode, p => p.MapFrom(q => q.Loc))
//supp_consign_qty 供应商寄售库存
//cust_consign_qty 客户寄售库存
.ForMember(p => p.Status, p => p.MapFrom(q => q.Status))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark));
}
private void CreateMap_loc()
{
//先不做 Loc => Code
CreateMap<Loc, ErpLocationEditInput>()
.Ignore(p => p.TenantId)
.ForMember(p => p.WarehouseCode, p => p.MapFrom(q => q.Whse))
.ForMember(p => p.Description, p => p.MapFrom(q => q.Desc));
}
private void CreateMap_part()
{
CreateMap<Part, ItemBasicEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.Status)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Code, p => p.MapFrom(q => q.Code))
.ForMember(p => p.Name, p => p.MapFrom(q => q.Name))
.ForMember(p => p.Desc1, p => p.MapFrom(q => q.Desc1))
.ForMember(p => p.Desc2, p => p.MapFrom(q => q.Desc2))
//!!.ForMember(p => p.Status, p => p.MapFrom(q => q.Status))
.ForMember(p => p.CanMake, p => p.MapFrom(q => q.CanMake))
.ForMember(p => p.CanBuy, p => p.MapFrom(q => q.CanBuy))
.ForMember(p => p.BasicUom, p => p.MapFrom(q => q.Um))
.ForMember(p => p.AbcClass, p => p.MapFrom(q => q.AbcClass))
.ForMember(p => p.Type, p => p.MapFrom(q => q.PartType))
.ForMember(p => p.Category, p => p.MapFrom(q => q.PartCatalog))
.ForMember(p => p.Group, p => p.MapFrom(q => q.PartGroup))
.ForMember(p => p.IsPhantom, p => p.MapFrom(q => q.IsPhantom))
.ForMember(p => p.Color, p => p.MapFrom(q => q.Color))
.ForMember(p => p.Configuration, p => p.MapFrom(q => q.Config))
.ForMember(p => p.Project, p => p.MapFrom(q => q.Project))
.ForMember(p => p.Version, p => p.MapFrom(q => q.Version))
.ForMember(p => p.Eco, p => p.MapFrom(q => q.Eco))
.ForMember(p => p.ValidityUnit, p => p.MapFrom(q => EnumValidityUnit.Infinite))
//.ForMember(p => p.StdPackUm, p => p.MapFrom(q => q.StdPackUm))
//.ForMember(p => p.StdPackQty, p => p.MapFrom(q => q.StdPackQty))
//.ForMember(p => p.ExtPackUm, p => p.MapFrom(q => q.ExtPackUm))
//.ForMember(p => p.ExtPackQty, p => p.MapFrom(q => q.ExtPackQty))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
;
}
private void CreateMap_po_mstr()
{
//子对象
CreateMap<PoDet, PurchaseOrderDetailInput>()
//.Ignore(p => p.TenantId)
.Ignore(p => p.Qty)
//.ForMember(p => p.PoNbr, p => p.MapFrom(q => q.PoNbr))
.ForMember(p => p.PoLine, p => p.MapFrom(q => q.PoLine))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.PartCode))
.ForMember(p => p.LineStatus, p => p.MapFrom(q => TryToIntZero(q.Status)))
//!! .ForMember(p => p.Qty.Uom, p => p.MapFrom(q => q.Um))
//.ForMember(p => p.OrderQty, p => p.MapFrom(q => q.OrderQty))
//!! .ForMember(p => p.Qty, p => p.MapFrom(q => q.RcQty))
//!! .ForMember(p => p.StdPack.PackUom, p => p.MapFrom(q => q.StdPackUm))
//!! .ForMember(p => p.StdPack.PackQty, p => p.MapFrom(q => q.StdPackQty))
//!! .ForMember(p => p.SupplierPack.PackUom, p => p.MapFrom(q => q.VendPackUm))
//!! .ForMember(p => p.SupplierPack.PackQty, p => p.MapFrom(q => q.VendPackQty))
.ForMember(p => p.ConvertRate, p => p.MapFrom(q => q.UmConv))
.ForMember(p => p.IsConsignment, p => p.MapFrom(q => q.Consignment))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
//.ForMember(p => p.CreateUser, p => p.MapFrom(q => q.CreateUser))
;
//主对象
CreateMap<PoMstr, PurchaseOrderEditInput>()
.Ignore(p => p.TenantId)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Number, p => p.MapFrom(q => q.PoNbr))
.ForMember(p => p.SupplierCode, p => p.MapFrom(q => q.VendorCode))
.ForMember(p => p.PoType, p => p.MapFrom(q => q.ModType))
.ForMember(p => p.OrderStatus, p => p.MapFrom(q => TryToIntZero(q.Status)))
.ForMember(p => p.IsConsignment, p => p.MapFrom(q => q.Consignment))
.ForMember(p => p.OrderDate, p => p.MapFrom(q => q.OrderDate))
.ForMember(p => p.DueDate, p => p.MapFrom(q => q.DueDate))
.ForMember(p => p.TaxRate, p => p.MapFrom(q => q.TaxRate))
//!! .ForMember(p => p.Contacts.Name, p => p.MapFrom(q => q.Contacts))
//.ForMember(p => p.Buyer, p => p.MapFrom(q => q.Buyer))
//.ForMember(p => p.Contract, p => p.MapFrom(q => q.Contract))
//.ForMember(p => p.Project, p => p.MapFrom(q => q.Project))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.Details, p => p.MapFrom(q => q.Details)) //子列表 转换成 子列表
;
}
/// <summary>
/// 同一个源对象 转换成 两个不同的目标对象
/// </summary>
private void CreateMap_prod_line()
{
CreateMap<ProdLine, ProductionLineEditInput>()
.Ignore(p => p.TenantId)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Code, p => p.MapFrom(q => q.Code))
.ForMember(p => p.Description, p => p.MapFrom(q => q.Desc))
//.ForMember(p => p.Part, p => p.MapFrom(q => q.Part))
//.ForMember(p => p.Rate, p => p.MapFrom(q => q.Rate))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.Name, p => p.MapFrom(q => q.Desc))
;
/*
CreateMap<ProdLine, ProductLineCreateInput>()
.Ignore(p => p.TenantId)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Code, p => p.MapFrom(q => q.Code))
.ForMember(p => p.Description, p => p.MapFrom(q => q.Desc))
//.ForMember(p => p.Part, p => p.MapFrom(q => q.Part))
//.ForMember(p => p.Rate, p => p.MapFrom(q => q.Rate))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.Name, p => p.MapFrom(q => q.Desc))
;
*/
CreateMap<ProdLine, ProductionLineItemEditInput>()
.Ignore(p => p.TenantId)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
// .ForMember(p => p.Code, p => p.MapFrom(q => q.Code))
//.ForMember(p => p, p => p.MapFrom(q => q.Desc))
//.ForMember(p => p.Part, p => p.MapFrom(q => q.Part))
//.ForMember(p => p.Rate, p => p.MapFrom(q => q.Rate))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
;
}
/// <summary>
/// 源一个对象 转换成 两个不同的目标对象
/// </summary>
private static void CreateMap_sod_det()
{
/* AutoMapper不好使
CreateMap<SodDet, SaleOrderDetailInput>()
.Ignore(p => p.StdPack)
.ForMember(p => p.SoLine, p => p.MapFrom(q => q.SoLine))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.PartCode))
//!! .ForMember(p => p.StdPack.PackUom, p => p.MapFrom(q => q.Um))
//!! .ForMember(p => p.StdPack.PackQty, p => p.MapFrom(q => q.StdPackQty))
.ForMember(p => p.ConvertRate, p => p.NullSubstitute(0))
.ForMember(p => p.LineStatus, p => p.NullSubstitute(1))
.ForMember(p => p.Qty, p => p.NullSubstitute(0))
;
CreateMap<SodDet, SaleOrderCreateInput>()
.Ignore(p => p.TenantId)
//.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.Number, p => p.MapFrom(q => q.SoNbr))
////.ForMember(p => p.Details, p => p.MapFrom(q => q.SoLine))
.ForMember(p => p.CustomerCode, p => p.MapFrom(q => q.CustCode))
////.ForMember(p => p.Part, p => p.MapFrom(q => q.Part))
////.ForMember(p => p.Um, p => p.MapFrom(q => q.Um))
////.ForMember(p => p.StdPackQty, p => p.MapFrom(q => q.StdPackQty))
//.ForMember(p => p.Loc, p => p.MapFrom(q => q.Loc))
//.ForMember(p => p.ShipTo, p => p.MapFrom(q => q.ShipTo))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.PoType, p => p.NullSubstitute(""))
.ForMember(p => p.Status, p => p.NullSubstitute(1))
;
*/
}
private void CreateMap_vend_part()
{
CreateMap<VendPart, SupplierItemEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.SupplierPackQty)
////.ForMember(p => p.Site, p => p.MapFrom(q => q.Site))
.ForMember(p => p.SupplierCode, p => p.MapFrom(q => q.VendorCode))
.ForMember(p => p.ItemCode, p => p.MapFrom(q => q.PartCode))
.ForMember(p => p.SupplierItemCode, p => p.MapFrom(q => q.VendPartCode))
//!! .ForMember(p => p.SupplierPackQty.Qty, p => p.MapFrom(q => q.VendPackQty))
//!! .ForMember(p => p.SupplierPackQty.Uom, p => p.MapFrom(q => q.VendPackUm))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
////.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
.ForMember(p => p.QtyPerPallet, p => p.NullSubstitute(0))
;
}
private void CreateMap_vend()
{
CreateMap<Vend, SupplierEditInput>()
.Ignore(p => p.TenantId)
.Ignore(p => p.Type)
.ForMember(p => p.Code, p => p.MapFrom(q => q.Code))
.ForMember(p => p.Name, p => p.MapFrom(q => q.Name))
.ForMember(p => p.Address, p => p.MapFrom(q => q.Addr1 + q.Addr2 + q.Addr3))
//.ForMember(p => p.Address, p => p.MapFrom(q => q.Addr2))
//.ForMember(p => p.Address, p => p.MapFrom(q => q.Addr3))
.ForMember(p => p.Country, p => p.MapFrom(q => q.Country))
.ForMember(p => p.City, p => p.MapFrom(q => q.City))
.ForMember(p => p.Phone, p => p.MapFrom(q => q.Phone))
.ForMember(p => p.Fax, p => p.MapFrom(q => q.Fax))
.ForMember(p => p.PostID, p => p.MapFrom(q => q.PstId))
.ForMember(p => p.Contacts, p => p.MapFrom(q => q.Contacts))
.ForMember(p => p.Bank, p => p.MapFrom(q => q.Bank))
.ForMember(p => p.Currency, p => p.MapFrom(q => q.Curr))
//.ForMember(p => p.TaxRate, p => p.MapFrom(q => q.TaxRate))
.ForMember(p => p.IsActive, p => p.MapFrom(q => q.Active))
//!!.ForMember(p => p.Type, p => p.MapFrom(q => q.Type))
.ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark))
//.ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreateTime))
;
}
private static int TryToIntZero(string input)
{
int ret;
try
{
ret = Convert.ToInt32(input);
}
catch
{
ret = 0;
}
return ret;
}
#endregion
}