@@ -87,56 +87,59 @@ public override ShippingMethodArtifact GetArtifact(GuidUdi udi, ShippingMethodRe
87
87
// it's config is all plugin based, we can't be certain of the data structure
88
88
// and so we just have to pass the value through. Realtime rates don't currently
89
89
// have any dependencies.
90
- if ( entity . CalculationMode == ShippingCalculationMode . Fixed && entity . CalculationConfig is FixedRateShippingCalculationConfig calcConfig )
90
+ if ( entity . CalculationConfig != null )
91
91
{
92
- var servicesPrices = new List < ServicePriceArtifact > ( ) ;
93
-
94
- foreach ( var price in calcConfig . Prices )
92
+ if ( entity . CalculationMode == ShippingCalculationMode . Fixed && entity . CalculationConfig is FixedRateShippingCalculationConfig calcConfig )
95
93
{
96
- var spArtifact = new ServicePriceArtifact { Value = price . Value } ;
94
+ var servicesPrices = new List < ServicePriceArtifact > ( ) ;
97
95
98
- // Currency
99
- var currencyDepUdi = new GuidUdi ( UmbracoCommerceConstants . UdiEntityType . Currency , price . CurrencyId ) ;
100
- var currencyDep = new UmbracoCommerceArtifactDependency ( currencyDepUdi ) ;
96
+ foreach ( var price in calcConfig . Prices )
97
+ {
98
+ var spArtifact = new ServicePriceArtifact { Value = price . Value } ;
101
99
102
- dependencies . Add ( currencyDep ) ;
100
+ // Currency
101
+ var currencyDepUdi = new GuidUdi ( UmbracoCommerceConstants . UdiEntityType . Currency , price . CurrencyId ) ;
102
+ var currencyDep = new UmbracoCommerceArtifactDependency ( currencyDepUdi ) ;
103
103
104
- spArtifact . CurrencyUdi = currencyDepUdi ;
104
+ dependencies . Add ( currencyDep ) ;
105
105
106
- // Country
107
- if ( price . CountryId . HasValue )
108
- {
109
- var countryDepUdi = new GuidUdi ( UmbracoCommerceConstants . UdiEntityType . Country , price . CountryId . Value ) ;
110
- var countryDep = new UmbracoCommerceArtifactDependency ( countryDepUdi ) ;
106
+ spArtifact . CurrencyUdi = currencyDepUdi ;
111
107
112
- dependencies . Add ( countryDep ) ;
108
+ // Country
109
+ if ( price . CountryId . HasValue )
110
+ {
111
+ var countryDepUdi = new GuidUdi ( UmbracoCommerceConstants . UdiEntityType . Country , price . CountryId . Value ) ;
112
+ var countryDep = new UmbracoCommerceArtifactDependency ( countryDepUdi ) ;
113
113
114
- spArtifact . CountryUdi = countryDepUdi ;
115
- }
114
+ dependencies . Add ( countryDep ) ;
116
115
117
- // Region
118
- if ( price . RegionId . HasValue )
119
- {
120
- var regionDepUdi = new GuidUdi ( UmbracoCommerceConstants . UdiEntityType . Region , price . RegionId . Value ) ;
121
- var regionDep = new UmbracoCommerceArtifactDependency ( regionDepUdi ) ;
116
+ spArtifact . CountryUdi = countryDepUdi ;
117
+ }
122
118
123
- dependencies . Add ( regionDep ) ;
119
+ // Region
120
+ if ( price . RegionId . HasValue )
121
+ {
122
+ var regionDepUdi = new GuidUdi ( UmbracoCommerceConstants . UdiEntityType . Region , price . RegionId . Value ) ;
123
+ var regionDep = new UmbracoCommerceArtifactDependency ( regionDepUdi ) ;
124
+
125
+ dependencies . Add ( regionDep ) ;
124
126
125
- spArtifact . RegionUdi = regionDepUdi ;
127
+ spArtifact . RegionUdi = regionDepUdi ;
128
+ }
129
+
130
+ servicesPrices . Add ( spArtifact ) ;
126
131
}
127
132
128
- servicesPrices . Add ( spArtifact ) ;
133
+ artifact . CalculationConfig = JObject . FromObject ( new FixedRateShippingCalculationConfigArtifact
134
+ {
135
+ Prices = servicesPrices
136
+ } ) ;
129
137
}
130
-
131
- artifact . CalculationConfig = JObject . FromObject ( new FixedRateShippingCalculationConfigArtifact
138
+ else
132
139
{
133
- Prices = servicesPrices
134
- } ) ;
135
- }
136
- else
137
- {
138
- // No additional processing required
139
- artifact . CalculationConfig = JObject . FromObject ( entity . CalculationConfig ) ;
140
+ // No additional processing required
141
+ artifact . CalculationConfig = JObject . FromObject ( entity . CalculationConfig ) ;
142
+ }
140
143
}
141
144
142
145
// Allowed country regions
0 commit comments