Skip to content

Commit 31d9f4c

Browse files
Use JsonUdiConverter when serializing / deserializing
1 parent 3cc88ec commit 31d9f4c

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

src/Umbraco.Commerce.Deploy/Connectors/ServiceConnectors/UmbracoCommerceShippingMethodServiceConnector.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,12 @@ public override IAsyncEnumerable<ShippingMethodReadOnly> GetEntitiesAsync(Guid s
137137
artifact.CalculationConfig = JsonSerializer.SerializeToElement(new FixedRateShippingCalculationConfigArtifact
138138
{
139139
Prices = servicesPrices
140-
});
140+
}, Constants.DefaultJsonSerializerOptions);
141141
}
142142
else
143143
{
144144
// No additional processing required
145-
artifact.CalculationConfig = JsonSerializer.SerializeToElement(entity.CalculationConfig);
145+
artifact.CalculationConfig = JsonSerializer.SerializeToElement(entity.CalculationConfig, Constants.DefaultJsonSerializerOptions);
146146
}
147147
}
148148

@@ -265,7 +265,7 @@ private Task Pass4Async(ArtifactDeployState<ShippingMethodArtifact, ShippingMeth
265265
{
266266
if (artifact.CalculationMode == (int)ShippingCalculationMode.Fixed)
267267
{
268-
FixedRateShippingCalculationConfigArtifact? cfgArtifact = artifact.CalculationConfig?.Deserialize<FixedRateShippingCalculationConfigArtifact>();
268+
FixedRateShippingCalculationConfigArtifact? cfgArtifact = artifact.CalculationConfig?.Deserialize<FixedRateShippingCalculationConfigArtifact>(Constants.DefaultJsonSerializerOptions);
269269

270270
var prices = new List<ServicePrice>();
271271

@@ -290,11 +290,11 @@ private Task Pass4Async(ArtifactDeployState<ShippingMethodArtifact, ShippingMeth
290290
}
291291
else if (artifact.CalculationMode == (int)ShippingCalculationMode.Dynamic)
292292
{
293-
entity.SetCalculationConfig(artifact.CalculationConfig?.Deserialize<DynamicRateShippingCalculationConfig>());
293+
entity.SetCalculationConfig(artifact.CalculationConfig?.Deserialize<DynamicRateShippingCalculationConfig>(Constants.DefaultJsonSerializerOptions));
294294
}
295295
else if (artifact.CalculationMode == (int)ShippingCalculationMode.Realtime)
296296
{
297-
entity.SetCalculationConfig(artifact.CalculationConfig?.Deserialize<RealtimeRateShippingCalculationConfig>());
297+
entity.SetCalculationConfig(artifact.CalculationConfig?.Deserialize<RealtimeRateShippingCalculationConfig>(Constants.DefaultJsonSerializerOptions));
298298
}
299299
else
300300
{

src/Umbraco.Commerce.Deploy/Connectors/ValueConnectors/UmbracoCommercePriceValueConnector.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class UmbracoCommercePriceValueConnector(
3434
return null;
3535
}
3636

37-
Dictionary<Guid, decimal?>? srcDict = JsonSerializer.Deserialize<Dictionary<Guid, decimal?>>(svalue);
37+
Dictionary<Guid, decimal?>? srcDict = JsonSerializer.Deserialize<Dictionary<Guid, decimal?>>(svalue, Constants.DefaultJsonSerializerOptions);
3838

3939
var dstDict = new Dictionary<GuidUdi, decimal?>();
4040

@@ -54,7 +54,7 @@ public class UmbracoCommercePriceValueConnector(
5454
dstDict.Add(udi, kvp.Value);
5555
}
5656

57-
return JsonSerializer.Serialize(dstDict);
57+
return JsonSerializer.Serialize(dstDict, Constants.DefaultJsonSerializerOptions);
5858
}
5959

6060

@@ -73,7 +73,7 @@ public class UmbracoCommercePriceValueConnector(
7373
return null;
7474
}
7575

76-
Dictionary<string, decimal?>? srcDict = JsonSerializer.Deserialize<Dictionary<string, decimal?>>(svalue);
76+
Dictionary<string, decimal?>? srcDict = JsonSerializer.Deserialize<Dictionary<string, decimal?>>(svalue, Constants.DefaultJsonSerializerOptions);
7777

7878
var dstDict = new Dictionary<Guid, decimal?>();
7979

@@ -89,7 +89,7 @@ public class UmbracoCommercePriceValueConnector(
8989
}
9090
}
9191

92-
return JsonSerializer.Serialize(dstDict);
92+
return JsonSerializer.Serialize(dstDict, Constants.DefaultJsonSerializerOptions);
9393
}
9494
}
9595
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System.Text.Json;
2+
using Umbraco.Cms.Infrastructure.Serialization;
3+
4+
namespace Umbraco.Commerce.Deploy;
5+
6+
public static class Constants
7+
{
8+
internal static JsonSerializerOptions DefaultJsonSerializerOptions => new()
9+
{
10+
Converters =
11+
{
12+
new JsonUdiConverter()
13+
}
14+
};
15+
}

0 commit comments

Comments
 (0)