using System.Collections.Generic;
using Newtonsoft.Json.Linq;
public static void Main()
'Description': 'Furnace',
'ServiceItemSummary': null,
'Manufacturer': 'Carrier',
'SerialNumber': '2903A12877',
'YearManufactured': null,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 11510,
'ServiceItemSummary': null,
'Manufacturer': 'Carrier',
'SerialNumber': '0604E18226',
'YearManufactured': null,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'Description': 'EVAP COIL INSTALLED 6/21/18',
'ServiceItemSummary': null,
'SerialNumber': 'W1B8530156',
'YearManufactured': null,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 16481,
'Description': 'AC INSTALLED 6/21/18',
'ServiceItemSummary': null,
'SerialNumber': 'W1B7449739',
'YearManufactured': 2017,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 16215,
'ServiceItem': 'Furnace',
'Description': 'Furnace INSTALLED 6/21/18',
'ServiceItemSummary': null,
'Model': 'TM9V080B12MP11CA',
'SerialNumber': 'W1A8468896',
'YearManufactured': 2018,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 16214,
'Notes': '16x25x4 filter',
'SMServiceSiteID': 26198,
'Description': 'Milwaukee Condo',
'Address1': '730 N Plankinton Ave',
'DefaultServiceCenter': 'Res',
'Notes': 'Created from SM Call 66188',
'BillToARCustomer': null,
'CustomerPOSetting': null,
'PrimaryTechnician': null,
'InvoiceGroupingPOOverride': null,
'SMServiceSiteContactID': 8768,
'IncludeTripCloseEmail': 'N'
'SMServiceSiteID': 14427,
'Description': 'Moore, Pam',
'Address1': '30 Hawks Landing Circle',
'DefaultServiceCenter': 'Res',
'Notes': '2 year PMA on furnace and AC thru Spring of 18\r\n\r\n**Replaced furnace & AC in June 2018 - due for complimentary furnace tune up in fall of 2018 and complimentary AC tune up in spring of 2019 - CS\r\n-free furnace tune up completed 11/2/2018 - CS',
'BillToARCustomer': null,
'CustomerPOSetting': null,
'PrimaryTechnician': null,
'BillingEmail': 'pam05moore@yahoo.com',
'InvoiceGroupingPOOverride': null,
'Description': 'Furnace',
'ServiceItemSummary': null,
'Manufacturer': 'Carrier',
'SerialNumber': '2903A12877',
'YearManufactured': null,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 11510,
'ServiceItemSummary': null,
'Manufacturer': 'Carrier',
'SerialNumber': '0604E18226',
'YearManufactured': null,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'Description': 'EVAP COIL INSTALLED 6/21/18',
'ServiceItemSummary': null,
'SerialNumber': 'W1B8530156',
'YearManufactured': null,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 16481,
'Description': 'AC INSTALLED 6/21/18',
'ServiceItemSummary': null,
'SerialNumber': 'W1B7449739',
'YearManufactured': 2017,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 16215,
'ServiceItem': 'Furnace',
'Description': 'Furnace INSTALLED 6/21/18',
'ServiceItemSummary': null,
'Model': 'TM9V080B12MP11CA',
'SerialNumber': 'W1A8468896',
'YearManufactured': 2018,
'LaborWarrantyExpDate': null,
'MaterialWarrantyExpDate': null,
'SMServiceItemID': 16214,
'Notes': '16x25x4 filter',
'street': '30 Hawks Landing Circle',
'createdOn': '2022-07-19T18:23:12.6245967+00:00',
'modifiedOn': '2022-07-19T18:23:13.0172745+00:00',
'street': '730 N Plankinton Ave',
'createdOn': '2022-07-19T18:23:12.7704289+00:00',
'modifiedOn': '2022-07-19T18:23:12.8929085+00:00',
'street': '30 Hawks Landing Circle',
'createdOn': '2022-07-19T18:23:12.9685874+00:00',
'modifiedOn': '2022-07-19T18:23:12.9685874+00:00',
'street': '30 Hawks Landing Circle',
'createdOn': '2022-07-19T18:23:12.9923771+00:00',
'modifiedOn': '2022-07-19T18:23:12.9923771+00:00',
var DataArray = JsonConvert.DeserializeObject<dynamic>(dataJSON);
var Data2 = JsonConvert.DeserializeObject<dynamic>(dataJSON2);
var Data3 = JsonConvert.DeserializeObject<dynamic>(dataJSON3);
foreach(var Data in DataArray){
JArray.FromObject((object)Data2)
.Where(d => d["ServiceableItems"]
.Any(a => a.Value<int>("SMServiceItemID") ==
Data.Value<int>("SMServiceItemID")))
locationId = JArray.FromObject((object)
StepResponse("add-servicetitan-customer").result.locations)
.Where(d => d.Value<string>("name") ==
servSite.Value<string>("ServiceSite"))
.Select(s => s.Value<int>("id"))
var objSItem = new JObject {
new JProperty("locationId", locationId),
Data.Value<string>("ServiceItem")),
new JProperty("serialNumber",
Data.Value<string>("SerialNumber")),
Data.Value<string>("Description")),
new JProperty("manufacturer",
Data.Value<string>("Manufacturer")),
Data.Value<string>("Model")),
new JProperty("manufacturerWarrantyEnd",
("MaterialWarrantyExpDate") == null
<DateTime>("MaterialWarrantyExpDate")
new JProperty("serviceProviderWarrantyEnd",
("LaborWarrantyExpDate") == null
<DateTime>("LaborWarrantyExpDate")
Console.WriteLine(objSItem);