I am trying to convert the content of a response message to a list of items contained within the response message and keep running into issues, the returned json looks like this: Jason output
Here is the whole returned response content:
{ "Version": 1, "Result": "Success", "Data": { "Tasks": [ { "Oid": "f70b1a46-690f-4637-886b-f90f035a11e8", "CreatedOn": "2022-07-15T00:07:41.553Z", "ChangedOn": "2022-07-15T03:39:58.373Z", "Subject": "233817 3693 Range Rd", "Description": "", "Comment": "", "IsStarted": true, "IsFinished": true, "IsFinalAppointment": false, "ScheduledOn": "2022-07-15T09:37:41.553", "ProductionDeadline": "0001-01-01T00:00:00", "ScheduledStart": "2022-07-15T09:45:00", "ScheduledEnd": "2022-07-15T09:50:00", "RealStart": "2022-07-15T09:45:00", "RealEnd": "2022-07-15T09:50:00", "CalculatedSeconds": 300.0000, "IdleSeconds": 0, "ScheduledDuration": "PT5M", "RealDuration": "PT5M", "Status": 2, "PercentComplete": 100, "HasFinishedItems": true, "IsCustomTask": false, "AppointmentType": "OrderSpecificAppointment", "OrderItemCount": 31, "OrderItemPartsCount": 56, "MaterialUsageTotal": 58.3280000000, "MaterialUsageTotalConverted": 58.328, "MaterialUsageNet": 46.9659000000, "MaterialUsageNetConverted": 46.9659, "MaterialUsageScrap": 11.3621000000, "MaterialUsageScrapConverted": 11.3621, "MaterialUsageTotalWeight": 263.4676, "MaterialUsageTotalWeightConverted": 263.4676, "MaterialUsageNetWeight": 212.1449000000, "MaterialUsageNetWeightConverted": 212.14490, "MaterialUsageScrapWeight": 51.3227000000, "MaterialUsageScrapWeightConverted": 51.32270, "Station": { "_Value": "Centurio", "oid": "f7f3c5fe-49f0-4a9a-b366-29c4ab990fc7" }, "Materials": [ { "_Value": "STEALTH MATTE .55 (MONUMENT†)", "oid": "4889a4f2-75c6-4fb2-b57d-d393ff495ef1", "externalID": "161539" } ], "MaterialCoils": [], "MaterialDimensions": [], "PreviousDependencies": [], "NextDependencies": [ { "_Value": "", "oid": "4699df81-4d5c-456c-904d-389a08f60a82", "start": "2022-07-17T03:37:00", "station": "Unallocated Folding Station" } ] }, { "Oid": "4699df81-4d5c-456c-904d-389a08f60a82", "CreatedOn": "2022-07-15T00:07:41.567Z", "ChangedOn": "2022-07-15T08:27:19.297Z", "Subject": "233817 3693 Range Rd", "Description": "", "Comment": "", "IsStarted": true, "IsFinished": true, "IsFinalAppointment": true, "ScheduledOn": "2022-07-15T09:37:41.567", "ProductionDeadline": "0001-01-01T00:00:00", "ScheduledStart": "2022-07-17T03:37:00", "ScheduledEnd": "2022-07-17T06:33:00", "RealStart": "2022-07-17T03:37:00", "RealEnd": "2022-07-17T06:33:00", "CalculatedSeconds": 10560.0000, "IdleSeconds": 0, "ScheduledDuration": "PT2H56M", "RealDuration": "PT2H56M", "Status": 2, "PercentComplete": 100, "HasFinishedItems": true, "IsCustomTask": false, "AppointmentType": "OrderSpecificAppointment", "OrderItemCount": 31, "OrderItemPartsCount": 56, "MaterialUsageTotal": 46.9659000000, "MaterialUsageTotalConverted": 46.9659, "MaterialUsageNet": 46.9659000000, "MaterialUsageNetConverted": 46.9659, "MaterialUsageScrap": 0.0000000000, "MaterialUsageScrapConverted": 0.0, "MaterialUsageTotalWeight": 212.1449, "MaterialUsageTotalWeightConverted": 212.1449, "MaterialUsageNetWeight": 212.1449000000, "MaterialUsageNetWeightConverted": 212.14490, "MaterialUsageScrapWeight": 0.0000000000, "MaterialUsageScrapWeightConverted": 0.00000, "Station": { "_Value": "Unallocated Folding Station", "oid": "7ce5334a-b05c-4511-be7b-1a83d2bf8d4c" }, "Materials": [ { "_Value": "STEALTH MATTE .55 (MONUMENT†)", "oid": "4889a4f2-75c6-4fb2-b57d-d393ff495ef1", "externalID": "161539" } ], "PreviousDependencies": [ { "_Value": "", "oid": "f70b1a46-690f-4637-886b-f90f035a11e8", "start": "2022-07-15T09:45:00", "station": "Centurio" } ], "NextDependencies": [] } ] }, "Details": "" }
I wish to extract each task from the "Tasks" element into a list (I have created a class to hold each Task element). So far my code looks like this:
public async void AppointmentsAsync(int taskScheduleID)
{
HttpResponseMessage taskList;
using (RevSchedDataContext context = new RevSchedDataContext())
{
string TimePrint = ConfigurationManager.AppSettings["TimePrint"];
schedule = (from s in context.TaskSchedules.Where(x => x.TaskScheduleID == taskScheduleID) select s).FirstOrDefault();
client.BaseAddress = new Uri("http://bendex.revroof.com.au/microsea/BendexRevBend/import/1.0/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
taskList = await client.GetAsync($"{client.BaseAddress}GetOrderScheduledTasksListJson?did=233817");
var products = await taskList.Content.ReadAsStringAsync();
var mtLists = JsonConvert.DeserializeObject<BendexTaskList>(products);
}
}
When putting a breakpoint on mtLists line and stepping mtLists never get populated.
Regards Peter