@@ -60,23 +60,22 @@ public Variation Clone()
6060 }
6161
6262 internal static bool TryLoadVariationFromJson ( Guid symbolId , JToken jToken , [ NotNullWhen ( true ) ] out Variation ? variation )
63- //internal static Variation? FromJson(Guid symbolId, JToken jToken)
6463 {
6564 variation = null ;
6665 if ( ! SymbolUiRegistry . TryGetSymbolUi ( symbolId , out var compositionSymbolUi ) )
6766 return false ;
6867
6968 var compositionSymbol = compositionSymbolUi . Symbol ;
70-
71- var idToken = jToken [ nameof ( Id ) ] ;
72-
73- var idString = idToken ? . Value < string > ( ) ;
74- if ( idString == null )
69+
70+ if ( ! JsonUtils . TryGetGuid ( jToken [ nameof ( Id ) ] , out var variationId ) )
71+ {
72+ Log . Warning ( " Can't find or parse variationId" ) ;
7573 return false ;
74+ }
7675
7776 variation = new Variation
7877 {
79- Id = Guid . Parse ( idString ) ,
78+ Id = variationId ,
8079 Title = jToken [ nameof ( Title ) ] ? . Value < string > ( ) ?? String . Empty ,
8180 ActivationIndex = jToken [ nameof ( ActivationIndex ) ] ? . Value < int > ( ) ?? - 1 ,
8281 IsPreset = jToken [ nameof ( IsPreset ) ] ? . Value < bool > ( ) ?? false ,
@@ -99,23 +98,19 @@ internal static bool TryLoadVariationFromJson(Guid symbolId, JToken jToken, [Not
9998 if ( changes2 is not JObject o )
10099 continue ;
101100
102- if ( string . IsNullOrEmpty ( symbolChildIdString ) )
103- {
104- continue ;
105- }
106-
107- if ( ! Guid . TryParse ( symbolChildIdString , out var symbolChildId ) )
101+ if ( ! JsonUtils . TryGetGuid ( symbolChildIdString , out var noneOrSymbolChildId ) )
108102 {
109103 Log . Warning ( $ "Can't load presets: invalid symbol ID '{ symbolChildIdString } '") ;
104+ continue ;
110105 }
111106
112107 Symbol symbolForChanges ;
113108
114- if ( symbolChildId == _idWhenUsingCompositionSymbol )
109+ if ( noneOrSymbolChildId == _idWhenUsingCompositionSymbol )
115110 {
116111 symbolForChanges = compositionSymbol ;
117112 }
118- else if ( compositionSymbol . Children . TryGetValue ( symbolChildId , out var symbolChild ) )
113+ else if ( compositionSymbol . Children . TryGetValue ( noneOrSymbolChildId , out var symbolChild ) )
119114 {
120115 symbolForChanges = symbolChild . Symbol ;
121116 }
@@ -127,10 +122,7 @@ internal static bool TryLoadVariationFromJson(Guid symbolId, JToken jToken, [Not
127122
128123 foreach ( var ( inputIdString , valueToken ) in o )
129124 {
130- if ( string . IsNullOrEmpty ( inputIdString ) )
131- continue ;
132-
133- if ( ! Guid . TryParse ( inputIdString , out var inputId ) )
125+ if ( ! JsonUtils . TryGetGuid ( inputIdString , out var inputId ) )
134126 {
135127 Log . Warning ( $ "Can't load presets: Invalid ID '{ changeList } ' in { symbolChildIdString } ") ;
136128 continue ;
@@ -158,11 +150,11 @@ internal static bool TryLoadVariationFromJson(Guid symbolId, JToken jToken, [Not
158150
159151 if ( changeList . Count > 0 )
160152 {
161- variation . ParameterSetsForChildIds [ symbolChildId ] = changeList ;
153+ variation . ParameterSetsForChildIds [ noneOrSymbolChildId ] = changeList ;
162154 }
163155 }
164156
165- return false ;
157+ return true ;
166158 }
167159
168160 private static readonly Guid _idWhenUsingCompositionSymbol = Guid . Empty ;
0 commit comments