public static bool GenerateRepositoryFromFileNames(string[] inputFns, string outputFn) { var res = true; // new repo var repo = new AasxFileRepository(); // make records foreach (var ifn in inputFns) { // get one or multiple asset ids var assetIds = new List <string>(); try { var pkg = new AdminShellPackageEnv(); pkg.Load(ifn); if (pkg.AasEnv != null && pkg.AasEnv.Assets != null) { foreach (var asset in pkg.AasEnv.Assets) { if (asset.identification != null) { assetIds.Add(asset.identification.id); } } } } catch (Exception ex) { AdminShellNS.LogInternally.That.SilentlyIgnoredError(ex); res = false; } // make the record(s) foreach (var assetid in assetIds) { var fmi = new AasxFileRepository.FileItem(); fmi.Filename = ifn; fmi.CodeType2D = "DMC"; fmi.AssetId = assetid; fmi.Description = "TODO"; fmi.Tag = "TODO"; // add it repo.FileMap.Add(fmi); } } // save using (var s = new StreamWriter(outputFn)) { var json = JsonConvert.SerializeObject(repo, Formatting.Indented); s.WriteLine(json); } return(res); }