76 lines
2.1 KiB
C#
76 lines
2.1 KiB
C#
using PartSource.Data.Nexpart;
|
|
using PartSource.Services;
|
|
using Ratermania.Automation.Interfaces;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace PartSource.Automation.Jobs
|
|
{
|
|
public class GetNexpartMenuItems : IAutomationJob
|
|
{
|
|
private readonly NexpartService _nexpartService;
|
|
|
|
public GetNexpartMenuItems(NexpartService nexpartService)
|
|
{
|
|
_nexpartService = nexpartService;
|
|
}
|
|
|
|
public async Task Run()
|
|
{
|
|
IList<string> rows = new List<string>
|
|
{
|
|
"\"Level 1\", \"Level 2\", \"Level 3\", \"Menu ID\""
|
|
};
|
|
|
|
MenuNodesLookup menuNodesLookup = new MenuNodesLookup
|
|
{
|
|
MenuId = 2,
|
|
NumberOfLevels = 1
|
|
};
|
|
|
|
MenuNodesLookupResponse categoryResponse = await _nexpartService.SendRequest<MenuNodesLookup, MenuNodesLookupResponse>(menuNodesLookup);
|
|
|
|
foreach (MenuNode categoryNode in categoryResponse.ResponseBody.MenuNode)
|
|
{
|
|
rows.Add($"\"{categoryNode.Description}\",\"\",\"\",{categoryNode.Id}");
|
|
|
|
MenuNodesLookup subgroupLookup = new MenuNodesLookup
|
|
{
|
|
MenuId = 2,
|
|
NumberOfLevels = 1,
|
|
ParentMenuNodeId = categoryNode.Id
|
|
};
|
|
|
|
MenuNodesLookupResponse subgroupResponse = await _nexpartService.SendRequest<MenuNodesLookup, MenuNodesLookupResponse>(subgroupLookup);
|
|
|
|
foreach (MenuNode subgroupNode in subgroupResponse.ResponseBody.MenuNode)
|
|
{
|
|
rows.Add($"\"{categoryNode.Description}\",\"{subgroupNode.Description}\",\"\",{subgroupNode.Id}");
|
|
|
|
MenuNodesLookup thirdLookup = new MenuNodesLookup
|
|
{
|
|
MenuId = 2,
|
|
NumberOfLevels = 1,
|
|
ParentMenuNodeId = subgroupNode.Id
|
|
};
|
|
|
|
MenuNodesLookupResponse thirdResponse = await _nexpartService.SendRequest<MenuNodesLookup, MenuNodesLookupResponse>(thirdLookup);
|
|
|
|
foreach (MenuNode thirdNode in thirdResponse.ResponseBody.MenuNode)
|
|
{
|
|
rows.Add($"\"{categoryNode.Description}\",\"{subgroupNode.Description}\",\"{thirdNode.Description}\",{thirdNode.Id}");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
//await File.WriteAllLinesAsync("C:\\users\\Tommy\\desktop\\Partsource Menu Items.csv", rows);
|
|
|
|
;
|
|
}
|
|
}
|
|
}
|