Привет, моя миссия - отобразить некоторые данные из моего SQL в соответствующие поля структуры JSON.
Я начинаю с создания заголовка, затем, когда я пытаюсь добавить позиции для базовой структуры, я не могу получить доступ к объектам List <>.
Сначала я создаю заголовок из RootObject Класс>, затем мне нужно создать пакет отгрузки (поэтому мне нужно иметь возможность объявить это в программе, а затем мне нужно, наконец, получить доступ к Элементу отгрузки для сопоставления с данными, которые есть в моей базе данных SQL, которая уже сопоставлена в myobjectlist ().
Структура класса здесь
public class Shipmentpackage
{
public int shipmentpackageid { get; set; }
public string barcode { get; set; }
}
public class Shipmentitem
{
public int shipmentitemid { get; set; }
public int shipmentpackageid { get; set; }
public string sku { get; set; }
public string productname { get; set; }
public int quantity { get; set; }
public string externalid { get; set; }
}
public class RootObject
{
public int shipmentstate { get; set; }
public string comment { get; set; }
public int receiver_warehouseid { get; set; }
public string receiver_name { get; set; }
public string carrier_name { get; set; }
public string carrier_reference { get; set; }
public List<Shipmentpackage> shipmentpackages { get; set; }
public List<Shipmentitem> shipmentitems { get; set; }
}
}
// Программный код
connection.Open();
List<ShipmentSQL> myObjectList = new List<ShipmentSQL>();
var reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
ShipmentSQL myObject = new ShipmentSQL();
myObject.reciever_warehouseid = reader["reciever"].ToString();
myObject.ean = reader["ean"].ToString();
myObject.quantity = reader["quantity"].ToString();
myObject.dateshipped = Convert.ToString(reader["dateshipped"]);
myObjectList.Add(myObject);
}
}
// var JsonResult = JsonConvert.SerializeObject(myObjectList);
Console.WriteLine(myObjectList);
// Console.WriteLine(JsonResult);
/* Program Initialization Now need to see why multiple articles are not*/
Console.WriteLine("Post Shipments To API");
HttpResponseMessage response2;
RootObject ShipmentHeader = new RootObject();
Shipmentpackage NewShipment = new Shipmentpackage();
ShipmentHeader.shipmentstate = 10; // New Shipment
ShipmentHeader.receiver_warehouseid = 1;
ShipmentHeader.carrier_reference = "123456789";
ShipmentHeader.comment = "test";
ShipmentHeader.receiver_name = "Test";
ShipmentHeader.carrier_name = "Internal Transfer";
ShipmentHeader.carrier_reference = "Internal";
foreach (ShipmentSQL shipment in myObjectList.ToList())
{
ShipmentHeader.**ShipmentPackageID**= "1"; //cannot access class
ShipmentHeader.**ShipmentItem** // Cannot access class