/// <summary> /// Adds the component and its ports to the BillOfMaterial /// </summary> /// <param name="name"></param> /// <param name="name_sm"></param> /// <returns></returns> private bool AddComponentInfos(string name, string name_sm) { bool allsuccess = true; foreach (var sim in SimulationModels) { if (!((sim.Inputs.Count == 0 && sim.Outputs.Count == 0) && sim.PhysicalPorts.Count == 0)) { AdminShellNS.AdminShell.Entity simAsEntity = GetSimModelAsEntity(sim, name_sm); foreach (var port in GetPortsAsProp(sim)) { simAsEntity.Add(port); } string test_ent_json = Newtonsoft.Json.JsonConvert.SerializeObject(simAsEntity); SimModelsAsEntities.Add(sim.Name, simAsEntity); if (!AASRestClient.PutEntity(test_ent_json, name, name_sm, "")) { allsuccess = false; } } } return(allsuccess); }
/// <summary> /// Adds the Relationships to the billOfMaterial. The relations are all the ports which are connected. /// Thus we need to iterate over all simulationmodels and its input ports to connect get all signalflow ports. /// And additionally all physical ports. /// </summary> /// <param name="name"></param> /// <param name="name_sm"></param> /// <returns></returns> private bool AddRelationshipInfo(string name, string name_sm) { bool allsuccess = true; foreach (var sim in SimulationModels) { foreach (var input in sim.Inputs) { foreach (var output in input.ConnectedTo) { AdminShellNS.AdminShell.RelationshipElement portAsRel = GetPortsAsRelation(input, output); string test_ent_json = Newtonsoft.Json.JsonConvert.SerializeObject(portAsRel); if (!AASRestClient.PutEntity(test_ent_json, name, name_sm, "")) { allsuccess = false; } } } if (sim.IsNode) { foreach (var port in sim.PhysicalPorts) { AdminShellNS.AdminShell.RelationshipElement portAsRel = GetPortsAsRelation(port, port.ConnectedTo[0], 1); string test_ent_json = Newtonsoft.Json.JsonConvert.SerializeObject(portAsRel); if (!AASRestClient.PutEntity(test_ent_json, name, name_sm, "")) { allsuccess = false; } } } } return(allsuccess); }