DataTable의 데이터로 채우려는이 모델이 있으므로 모델을 JSON으로 직렬화 할 수 있습니다. 그러나 OrderDetailsList에 나열된 OrderDetails 클래스에 주문 항목을 채우는 올바른 방법을 찾을 수없는 것 같습니다.
지금까지 이것이 제가 가진 것입니다.
어떤 도움이라도 대단히 감사합니다.
감사합니다!
암호
List<Order> orders = new List<Order>();
orders = (from DataRow order in DTOrders.Rows
select new Order()
{
ClientPO = "123456",
MerchantOrderID = "123456",
OrderDetailsList = (from DataRow orderDetail in DTOrderItems.AsEnumerable()
where orderDetail["Order Number"].ToString() == order["Order Number"].ToString()
select new OrderItem()
{
//ClientJobRefDetail etc...
}).ToList()
}).ToList();
모델
public partial class OrderModel
{
[JsonProperty("Order")]
public Order Order { get; set; }
}
public partial class Order
{
[JsonProperty("ClientPO")]
[JsonConverter(typeof(ParseStringConverter))]
public long ClientPo { get; set; }
[JsonProperty("MerchantOrderID")]
[JsonConverter(typeof(ParseStringConverter))]
public long MerchantOrderId { get; set; }
[JsonProperty("OrderDetailsList")]
public OrderDetailsList OrderDetailsList { get; set; }
}
public partial class OrderDetailsList
{
[JsonProperty("OrderDetails")]
public List<OrderDetail> OrderDetails { get; set; }
}
public partial class OrderDetail
{
[JsonProperty("ClientJobRefDetail")]
public string ClientJobRefDetail { get; set; }
[JsonProperty("Product")]
[JsonConverter(typeof(ParseStringConverter))]
public long Product { get; set; }
[JsonProperty("Qty")]
[JsonConverter(typeof(ParseStringConverter))]
public long Qty { get; set; }
[JsonProperty("ShipMethod")]
[JsonConverter(typeof(ParseStringConverter))]
public long ShipMethod { get; set; }
[JsonProperty("ShipTo")]
public string ShipTo { get; set; }
[JsonProperty("ShipToPerson")]
public string ShipToPerson { get; set; }
[JsonProperty("ShipToAddress1")]
public string ShipToAddress1 { get; set; }
[JsonProperty("ShipToCity")]
public string ShipToCity { get; set; }
[JsonProperty("ShipToState")]
public string ShipToState { get; set; }
[JsonProperty("ShipToZip")]
[JsonConverter(typeof(ParseStringConverter))]
public long ShipToZip { get; set; }
[JsonProperty("ShipToPhone")]
public string ShipToPhone { get; set; }
[JsonProperty("ShipToEmail")]
public string ShipToEmail { get; set; }
[JsonProperty("ExternalArtURL")]
public Uri ExternalArtUrl { get; set; }
}
클래스가 JSON으로 직렬화 된 후 원하는 출력
{
"Order": {
"ClientPO": "999999",
"MerchantOrderID": "123456",
"OrderDetailsList": {
"OrderDetails": [
{
"ClientJobRefDetail": "LINE123456",
"Product": "369",
"Qty": "1",
"ShipMethod": "60",
"ShipTo": "John Doe",
"ShipToPerson": "John Doe",
"ShipToAddress1": "120 9th Ave",
"ShipToCity": "Longmont",
"ShipToState": "CO",
"ShipToZip": "80501",
"ShipToPhone": "5055555555",
"ShipToEmail": "[email protected]",
"ExternalArtURL": "http://example.com/print_ready_image.jpg"
},
{
"ClientJobRefDetail": "LINE78910",
"Product": "521",
"Qty": "2",
"ShipMethod": "60",
"ShipTo": "John Doe",
"ShipToPerson": "John Doe",
"ShipToAddress1": "120 9th Ave",
"ShipToCity": "Longmont",
"ShipToState": "CO",
"ShipToZip": "80501",
"ShipToPhone": "5055555555",
"ShipToEmail": "[email protected]",
"ExternalArtURL": "http://example.com/print_ready_image.jpg"
}
]
}
}
}
새 OrderDetailsList를 만들어야합니다.
orders = (from DataRow order in DTOrders.Rows
select new Order()
{
ClientPo = 123456,
MerchantOrderId = 123456,
OrderDetailsList = new OrderDetailsList()
{
OrderDetails = (from DataRow orderDetail in DTOrderItems.AsEnumerable()
where orderDetail["Order Number"].ToString() == order["Order Number"].ToString()
select new OrderDetail()
{
//ClientJobRefDetail etc...
}).ToList()
}
}).ToList();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다