Skip to content

Commit fd62df1

Browse files
committed
* update before changing
Submodels management
1 parent ebefedc commit fd62df1

File tree

6 files changed

+27
-6
lines changed

6 files changed

+27
-6
lines changed

src/AasxCsharpLibrary/AdminShellBasicExtensions.cs

+8
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ public static bool HasContent(this string str)
3636
return str != null && str.Trim() != "";
3737
}
3838

39+
public static IEnumerable<T> ForEachSafe<T>(this List<T> list)
40+
{
41+
if (list == null)
42+
yield break;
43+
foreach (var x in list)
44+
yield return x;
45+
}
46+
3947
/// <summary>
4048
/// Multiple a string into a iterable list
4149
/// </summary>

src/AasxPackageExplorer/options-debug.MIHO.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@
3232
// "AasxToLoad": "C:\\HOMI\\Develop\\Aasx\\repo\\Test1.aasx",
3333
// "AasxToLoad": "C:\\HOMI\\Develop\\Aasx\\repo\\samm-test\\SMT_and_SAMM_Showcase_v02.aasx",
3434
// "AasxToLoad": "C:\\Users\\homi0002\\Desktop\\SMT_TechData_Work\\IDTA 02003-1-2_SubmodelTemplate_TechnicalData_v1.3_workingFile_MIHO.aasx",
35-
"AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\f.aasx",
36-
// "AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\SMT_and_SAMM_Showcase_v02_spiel.aasx",
35+
// "AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\f.aasx",
36+
// "AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\SMT_and_SAMM_Showcase_v02.aasx",
37+
"AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\nearnull.aasx",
3738
// "AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\SMT_ProductChangeNotification_Draft_v19_spiel.aasx",
3839
// "AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\00_FestoDemoBox-Module-2-Kopie.aasx",
3940
// "AasxToLoad": "C:\\Users\\homi0002\\Desktop\\tmp\\8001203_SPAU-P10R-T-R18M-L-PNLK-PNVBA-M8D_060ff64f-9fd2-422d-81ce-b17e49f007c5_work_spiel.aasx",

src/AasxPackageLogic/DispEditHelperEntities.cs

+12
Original file line numberDiff line numberDiff line change
@@ -2264,6 +2264,18 @@ public void DisplayOrEditAasEntitySubmodelOrRef(
22642264
}
22652265
}
22662266

2267+
//
2268+
// Submodel Value
2269+
//
2270+
2271+
if (submodel != null)
2272+
{
2273+
this.AddGroup(stack, "Submodel elements", this.levelColors.MainSection);
2274+
if (submodel.SubmodelElements != null)
2275+
this.AddKeyValue(stack, "# of elements", "" + submodel.SubmodelElements.Count);
2276+
else
2277+
this.AddKeyValue(stack, "Elements", "Please add elements via editing of sub-ordinate entities");
2278+
}
22672279
}
22682280

22692281
//

src/AasxPackageLogic/DispEditHelperModules.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ public void DisplayOrEditEntityIdentifiable(AnyUiStackPanel stack,
401401
new HintCheck(
402402
() => {
403403
int count = 0;
404-
foreach(var aas in env.AssetAdministrationShells)
404+
foreach(var aas in env.AssetAdministrationShells.ForEachSafe())
405405
{
406406
if(aas.Id == identifiable.Id)
407407
count++;

src/AasxPackageLogic/MainWindowScripting.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public enum ScriptSelectAdressMode { None = 0, First, Next, Prev, idShort, seman
113113
{
114114
if (siAAS?.theAas != null)
115115
{
116-
var smr = siAAS.theAas.Submodels.FirstOrDefault();
116+
var smr = siAAS.theAas.Submodels?.FirstOrDefault();
117117
var sm = pm.FindSubmodel(smr);
118118
if (sm == null)
119119
{
@@ -125,7 +125,7 @@ public enum ScriptSelectAdressMode { None = 0, First, Next, Prev, idShort, seman
125125

126126
if (firstAas != null)
127127
{
128-
var smr = firstAas.Submodels.FirstOrDefault();
128+
var smr = firstAas.Submodels?.FirstOrDefault();
129129
var sm = pm.FindSubmodel(smr);
130130
if (sm == null)
131131
{

src/AasxPackageLogic/VisualAasxElements.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2145,7 +2145,7 @@ private void GenerateInnerElementsForConceptDescriptions(
21452145
tiSubmodelsRoot.Members.Add(tiSM);
21462146

21472147
// now list CDs here
2148-
foreach (var cd in env.ConceptDescriptions)
2148+
foreach (var cd in env.ConceptDescriptions.ForEachSafe())
21492149
{
21502150
if (!_cdToSm.ContainsKey(cd))
21512151
continue;

0 commit comments

Comments
 (0)