public static void ExportAsTemplate(AdminShell.Submodel sm, string fn) { // access if (fn == null || sm == null || sm.submodelElements == null) { return; } // make submodel template var templateArr = new List <FormDescSubmodel>(); var tsm = new FormDescSubmodel( "Submodel", sm.semanticId?.GetAsExactlyOneKey(), sm.idShort, ""); tsm.SubmodelElements = new FormDescListOfElement(); templateArr.Add(tsm); // ok, export all SubmodelElems RecurseExportAsTemplate(sm.submodelElements, tsm.SubmodelElements); // write var settings = AasxPluginOptionSerialization.GetDefaultJsonSettings(new[] { typeof(FormDescBase) }); settings.Formatting = Newtonsoft.Json.Formatting.Indented; var json = Newtonsoft.Json.JsonConvert.SerializeObject(templateArr, templateArr.GetType(), settings); File.WriteAllText(fn, json); }
public static void ExportAsGenericFormsOptions( AdminShell.AdministrationShellEnv env, AdminShell.Submodel sm, string fn) { // access if (fn == null || env == null || sm == null || sm.submodelElements == null) { return; } // make submodel template var tsm = new FormDescSubmodel( "Submodel", sm.semanticId?.GetAsExactlyOneKey(), sm.idShort, ""); tsm.SubmodelElements = new FormDescListOfElement(); // will collect a list of CDs var cds = new AdminShell.ListOfConceptDescriptions(); // ok, export all SubmodelElems into tsm RecurseExportAsTemplate(sm.submodelElements, tsm.SubmodelElements, env, cds); // fill out record var rec = new ExportAsGenericFormsOptions_OptionsRecord(); rec.FormTag = "TBD"; var q = sm.qualifiers?.FindType("FormTag"); if (q != null) { rec.FormTag = "" + q.value; } rec.FormTitle = "TBD/" + sm.idShort; q = sm.qualifiers?.FindType("FormTitle"); if (q != null) { rec.FormTitle = "" + q.value; } rec.FormSubmodel = tsm; rec.ConceptDescriptions = cds; // fill out overall data var overall = new ExportAsGenericFormsOptions_OptionsOverall(); overall.Records.Add(rec); // write var settings = AasxPluginOptionSerialization.GetDefaultJsonSettings(new[] { typeof(FormDescBase) }); settings.Formatting = Newtonsoft.Json.Formatting.Indented; var json = Newtonsoft.Json.JsonConvert.SerializeObject(overall, overall.GetType(), settings); File.WriteAllText(fn, json); }
protected JsonSerializerSettings GetSerializerSettings() { // need special settings (to handle different typs of child classes of PackageContainer) var settings = AasxPluginOptionSerialization.GetDefaultJsonSettings( new[] { typeof(PackageContainerListBase), typeof(PackageContainerLocalFile), typeof(PackageContainerNetworkHttpFile) }); return(settings); }
public static void ExportAsTemplate(AdminShellPackageEnv package, string fn) { // access if (fn == null || package == null || package.AasEnv == null) { return; } // build templates var templateArr = new List <FormDescSubmodel>(); foreach (var aas in package.AasEnv.AdministrationShells) { foreach (var smref in aas.submodelRefs) { // get Submodel var sm = package.AasEnv.FindSubmodel(smref); if (sm == null) { continue; } // make submodel template var tsm = new FormDescSubmodel( "Submodel", sm.GetSemanticKey(), sm.idShort, ""); tsm.SubmodelElements = new FormDescListOfElement(); templateArr.Add(tsm); // ok, export all SubmodelElems RecurseExportAsTemplate(sm.submodelElements, tsm.SubmodelElements); } } // write var settings = AasxPluginOptionSerialization.GetDefaultJsonSettings(new[] { typeof(FormDescBase) }); settings.Formatting = Newtonsoft.Json.Formatting.Indented; var json = Newtonsoft.Json.JsonConvert.SerializeObject(templateArr, templateArr.GetType(), settings); File.WriteAllText(fn, json); }
public bool LoadFromLocalFile(string fn) { // from file if (!File.Exists(fn)) { return(false); } // need special settings (to handle different typs of child classes of PackageContainer) var settings = AasxPluginOptionSerialization.GetDefaultJsonSettings( new[] { typeof(PackageContainerListBase), typeof(PackageContainerLocalFile), typeof(PackageContainerNetworkHttpFile) }); var init = File.ReadAllText(fn); JsonConvert.PopulateObject(init, this, settings); // return return(true); }