1
zyf
9 天以前 387c9a7271272644bd872b896e8d0ead23451dc4
MES.Service/service/SalesOrder/SalesOrderManager.cs
@@ -82,6 +82,23 @@
        return result.All(b => b);
    }
    //自动映射字段
    public static void MapProperties<T>(T target, object source)
    {
        var targetProps = typeof(T).GetProperties();
        var sourceProps = source.GetType().GetProperties();
        foreach (var targetProp in targetProps)
        {
            var sourceProp = sourceProps.FirstOrDefault(p => p.Name == targetProp.Name && p.PropertyType == targetProp.PropertyType);
            if (sourceProp != null)
            {
                var value = sourceProp.GetValue(source);
                targetProp.SetValue(target, value);
            }
        }
    }
    private SalesOrder ConvertErpToSalesOrder(
        ErpSalesOrder erpDto1)
    {
@@ -99,7 +116,9 @@
            return null; // 如果转换失败,返回null
        }
        var erpDto = erpDto1.OrderDto;
        var salesOrder = new SalesOrder
        var salesOrder = new SalesOrder();
        MapProperties(salesOrder, erpDto);
        /*var salesOrder = new SalesOrder
        {
            Id = erpDto.Id,
            Erpid = erpDto.Erpid,
@@ -143,7 +162,7 @@
            //long.Parse()
            //Convert.ToDecimal()
            //Convert.ToDouble()
        };
        };*/
        var single = base.GetSingle(it => it.Erpid == erpDto.Erpid);
        if (single != null) salesOrder.Id = single.Id;
@@ -160,7 +179,9 @@
        foreach (var erpDto in erpDtoList.Items)
        {
            var salesOrderSub = new SalesOrderDetail
            var salesOrderSub = new SalesOrderDetail();
            MapProperties(salesOrderSub, erpDto);
            /*var salesOrderSub = new SalesOrderDetail
            {
                Id = erpDto.Id,
                Erpid = erpDto.Erpid,
@@ -196,7 +217,7 @@
                Fmapid = erpDto.Fmapid,
                Fmapname = erpDto.Fmapname,
                Fmapspec = erpDto.Fmapspec
            };
            };*/
            var single = _SalesOrderDetailManager.GetSingle(it =>
                it.Erpid == salesOrderSub.Erpid);