Skip to content

Commit 0eda87f

Browse files
Update store entity with default location + measurement
1 parent 208a31b commit 0eda87f

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

src/Umbraco.Commerce.Deploy/Artifacts/StoreArtifact.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using Umbraco.Cms.Core;
44
using Umbraco.Cms.Core.Deploy;
5+
using Umbraco.Commerce.Core.Models;
56
using Umbraco.Deploy.Infrastructure.Artifacts;
67

78
namespace Umbraco.Commerce.Deploy.Artifacts
@@ -18,10 +19,14 @@ public StoreArtifact(GuidUdi udi, IEnumerable<ArtifactDependency> dependencies =
1819

1920
public GuidUdi DefaultTaxClassUdi { get; set; }
2021

22+
public GuidUdi DefaultLocationUdi { get; set; }
23+
2124
public GuidUdi DefaultOrderStatusUdi { get; set; }
2225

2326
public GuidUdi ErrorOrderStatusUdi { get; set; }
2427

28+
public MeasurementSystem MeasurementSystem { get; set; }
29+
2530
public bool PricesIncludeTax { get; set; }
2631

2732
public TimeSpan? CookieTimeout { get; set; }

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

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,14 @@ public override StoreArtifact GetArtifact(GuidUdi udi, StoreReadOnly entity)
5454
if (entity == null)
5555
return null;
5656

57-
// TODO: Add the "defaults" as dependencies?
58-
5957
var dependencies = new ArtifactDependencyCollection();
6058

6159
#pragma warning disable CS0618 // OrderEditorConfig is obsolete
6260
var artifact = new StoreArtifact(udi, dependencies)
6361
{
6462
Name = entity.Name,
6563
Alias = entity.Alias,
64+
MeasurementSystem = entity.MeasurementSystem,
6665
PricesIncludeTax = entity.PricesIncludeTax,
6766
CookieTimeout = entity.CookieTimeout,
6867
CartNumberTemplate = entity.CartNumberTemplate,
@@ -105,6 +104,15 @@ public override StoreArtifact GetArtifact(GuidUdi udi, StoreReadOnly entity)
105104
artifact.DefaultTaxClassUdi = depUdi;
106105
}
107106

107+
// Default location
108+
if (entity.DefaultLocationId.HasValue)
109+
{
110+
var depUdi = new GuidUdi(UmbracoCommerceConstants.UdiEntityType.Location, entity.DefaultLocationId.Value);
111+
var dep = new UmbracoCommerceArtifactDependency(depUdi);
112+
dependencies.Add(dep);
113+
artifact.DefaultLocationUdi = depUdi;
114+
}
115+
108116
// Default order status
109117
if (entity.DefaultOrderStatusId.HasValue)
110118
{
@@ -247,6 +255,7 @@ private void Pass1(ArtifactDeployState<StoreArtifact, StoreReadOnly> state, IDep
247255

248256
#pragma warning disable CS0618 // SetOrderEditorConfig is obsolete
249257
entity.SetName(artifact.Name, artifact.Alias)
258+
.SetMeasurementSystem(artifact.MeasurementSystem)
250259
.SetPriceTaxInclusivity(artifact.PricesIncludeTax)
251260
.SetCartNumberTemplate(artifact.CartNumberTemplate)
252261
.SetOrderNumberTemplate(artifact.OrderNumberTemplate)
@@ -341,6 +350,18 @@ private void Pass4(ArtifactDeployState<StoreArtifact, StoreReadOnly> state, IDep
341350

342351
entity.SetDefaultTaxClass(defaultTaxClassId);
343352

353+
// DefaultLocation
354+
Guid? defaultLocationId = null;
355+
356+
if (artifact.DefaultLocationUdi != null)
357+
{
358+
artifact.DefaultLocationUdi.EnsureType(UmbracoCommerceConstants.UdiEntityType.Location);
359+
360+
defaultLocationId = _umbracoCommerceApi.GetLocation(artifact.DefaultLocationUdi.Guid)?.Id;
361+
}
362+
363+
entity.SetDefaultLocation(defaultLocationId);
364+
344365
// DefaultOrderStatus
345366
Guid? defaultOrderStatusId = null;
346367

0 commit comments

Comments
 (0)