public void ISOImportAndExport() { IList <ApplicationDataModel> models = _testData.Models; //Export with the ISO Plugin and test that the data is unaltered upon re-import string workingPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestOutput"); Directory.CreateDirectory(workingPath); AgGateway.ADAPT.ISOv4Plugin.Plugin isoPlugin = new AgGateway.ADAPT.ISOv4Plugin.Plugin(); for (int i = 0; i < models.Count; i++) { Properties p = new Properties(); string folder1 = $@"{workingPath}\ISOExport1\{i}"; Directory.CreateDirectory(folder1); isoPlugin.Export(models[i], folder1, p); var isoPlugin2 = new AgGateway.ADAPT.ISOv4Plugin.Plugin(); IList <ApplicationDataModel> reImport = isoPlugin2.Import(folder1); string folder2 = $@"{workingPath}\ISOExport2\{i}"; Directory.CreateDirectory(folder2); isoPlugin.Export(reImport[0], folder2, p); string export1 = File.ReadAllText(Path.Combine(folder1, "TASKDATA", "LinkList.xml")); string export2 = File.ReadAllText(Path.Combine(folder2, "TASKDATA", "LinkList.xml")); Assert.Equal(export1, export2); } }
static void Main(string[] args) { if (!CheckImportDataPathAndExportDataPath(args, out string error, out string importDataPath, out string exportDataPath)) { Console.WriteLine(error); WaitForUserInputThenExit(); } if (importDataPath == "" || exportDataPath == "") { Console.WriteLine("importDataPath == '' || exportDataPath == ''"); WaitForUserInputThenExit(); } var rootFolders = GetListOfTaskdataFolders(importDataPath); if (rootFolders == null) { Console.WriteLine("rootFolders == null"); WaitForUserInputThenExit(); } int count = 0; int totalFolders = rootFolders.Count(); foreach (var folder in rootFolders) { count++; Console.WriteLine($"Starting ADAPT conversion for folder {Path.GetFileName(folder)} ({count}/{totalFolders})"); // Selecting import and export plugin // Using Nuget package var isoxmlPlugin = new AgGateway.ADAPT.ISOv4Plugin.Plugin(); // Using reference to project var geoJsonPlugin = new GeoJSONPlugin.Plugin(); try { if (AdaptConverter.Convert(isoxmlPlugin, geoJsonPlugin, folder, exportDataPath)) { Console.WriteLine($"Successfull ADAPT conversion for folder {folder}"); continue; } } catch (Exception e) { Console.WriteLine($"Unsuccesfull conversion for folder {Path.GetFileName(folder)}"); Console.WriteLine($"Exception: {e.Message} InnerException: {e.InnerException?.Message}"); } } Console.WriteLine($"ADAPT conversion succesfull for folders in {importDataPath} to folder {exportDataPath}"); WaitForUserInputThenExit(); }
static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Usage: {inputPath} {outputPath}"); } string inputPath = args[0]; string outputPath = args[1]; AgGateway.ADAPT.ShippedItemInstancePlugin.Plugin sPlugin = new AgGateway.ADAPT.ShippedItemInstancePlugin.Plugin(); IList <ApplicationDataModel> models = sPlugin.Import(inputPath); AgGateway.ADAPT.ISOv4Plugin.Plugin isoPlugin = new AgGateway.ADAPT.ISOv4Plugin.Plugin(); AgGateway.ADAPT.ADMPlugin.Plugin admPlugin = new AgGateway.ADAPT.ADMPlugin.Plugin(); for (int i = 0; i < models.Count; i++) { Properties p = new Properties(); string folder = Path.Combine(outputPath, i.ToString()); Directory.CreateDirectory(folder); isoPlugin.Export(models[i], folder, p); admPlugin.Export(models[i], folder, p); } }