Skip to content

Commit 2caf130

Browse files
author
Jani Giannoudis
committed
scripting runtime: added support for tenant culture
updated version to 0.6.0-beta.10
1 parent 3a96bd9 commit 2caf130

File tree

7 files changed

+27
-9
lines changed

7 files changed

+27
-9
lines changed

Client.Services/PayrollEngine.Client.Services.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
<ItemGroup>
1717
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
18-
<PackageReference Include="PayrollEngine.Client.Scripting" Version="0.6.0-beta.9" />
19-
<PackageReference Include="PayrollEngine.Client.Test" Version="0.6.0-beta.9" />
18+
<PackageReference Include="PayrollEngine.Client.Scripting" Version="0.6.0-beta.10" />
19+
<PackageReference Include="PayrollEngine.Client.Test" Version="0.6.0-beta.10" />
2020
</ItemGroup>
2121

2222
<!-- include xml documention files and json schemas to the nuget package -->

Client.Services/PayrollEngine.Client.Services.xml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Client.Services/Scripting.Runtime.Api/CaseChangeRuntimeBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public bool HasValue(string caseFieldName) =>
172172

173173
/// <inheritdoc />
174174
public object GetValue(string caseFieldName) =>
175-
GetCaseFieldSet(caseFieldName).GetValue();
175+
GetCaseFieldSet(caseFieldName).GetValue(TenantCulture);
176176

177177
/// <inheritdoc />
178178
public void SetValue(string caseFieldName, object value) =>

Client.Services/Scripting.Runtime.Api/CaseRelationRuntimeBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public bool HasSourceValue(string caseFieldName) =>
105105

106106
/// <inheritdoc />
107107
public object GetSourceValue(string caseFieldName) =>
108-
GetSourceCaseField(caseFieldName).GetValue();
108+
GetSourceCaseField(caseFieldName).GetValue(TenantCulture);
109109

110110
private CaseFieldSet GetSourceCaseField(string caseFieldName)
111111
{
@@ -214,7 +214,7 @@ public bool HasTargetValue(string caseFieldName) =>
214214

215215
/// <inheritdoc />
216216
public object GetTargetValue(string caseFieldName) =>
217-
GetTargetCaseField(caseFieldName).GetValue();
217+
GetTargetCaseField(caseFieldName).GetValue(TenantCulture);
218218

219219
/// <inheritdoc />
220220
public void SetTargetValue(string caseFieldName, object value) =>

Client.Services/Scripting.Runtime.Api/PayrollRuntime.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ public virtual List<string> GetCaseValueTags(string caseFieldName, DateTime valu
319319
return new(caseFieldName,
320320
caseValue.Created,
321321
new(caseValue.Start, caseValue.End),
322-
ValueConvert.ToValue(caseValue.Value, caseValue.ValueType),
322+
ValueConvert.ToValue(caseValue.Value, caseValue.ValueType, TenantCulture),
323323
caseValue.CancellationDate,
324324
caseValue.Tags,
325325
caseValue.Attributes);
@@ -369,7 +369,7 @@ public virtual List<string> GetCaseValueTags(string caseFieldName, DateTime valu
369369
values.Add(new(valuePeriod.CaseFieldName,
370370
valuePeriod.Created,
371371
new(valuePeriod.Start, valuePeriod.End),
372-
ValueConvert.ToValue(valuePeriod.Value, valuePeriod.ValueType),
372+
ValueConvert.ToValue(valuePeriod.Value, valuePeriod.ValueType, TenantCulture),
373373
valuePeriod.CancellationDate,
374374
valuePeriod.Tags,
375375
valuePeriod.Attributes));
@@ -398,7 +398,7 @@ public virtual List<string> GetCaseValueTags(string caseFieldName, DateTime valu
398398
foreach (var periodValue in periodValues)
399399
{
400400
values[periodValue.CaseFieldName].Add(new(periodValue.Created,
401-
periodValue.Start, periodValue.End, ValueConvert.ToValue(periodValue.Value, periodValue.ValueType)));
401+
periodValue.Start, periodValue.End, ValueConvert.ToValue(periodValue.Value, periodValue.ValueType, TenantCulture)));
402402
}
403403
return values;
404404
}

Client.Services/Scripting.Runtime.Api/RuntimeBase.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ protected RuntimeBase(PayrollHttpClient httpClient, int tenantId, int userId)
3434
}
3535
TenantService = new TenantService(httpClient);
3636
Tenant = TenantService.GetAsync<Tenant>(new(), tenantId).Result;
37+
TenantCulture = GetTenantCulture(Tenant);
3738

3839
// user
3940
if (userId <= 0)
@@ -59,6 +60,9 @@ protected RuntimeBase(PayrollHttpClient httpClient, int tenantId, int userId)
5960
/// <summary>The tenant</summary>
6061
public Tenant Tenant { get; }
6162

63+
/// <summary>The tenant culture</summary>
64+
public CultureInfo TenantCulture { get; }
65+
6266
/// <inheritdoc />
6367
public int TenantId => Tenant.Id;
6468

@@ -69,6 +73,17 @@ protected RuntimeBase(PayrollHttpClient httpClient, int tenantId, int userId)
6973
public object GetTenantAttribute(string attributeName) =>
7074
Tenant.GetAttribute(attributeName);
7175

76+
private static CultureInfo GetTenantCulture(Tenant tenant)
77+
{
78+
var culture = CultureInfo.DefaultThreadCurrentCulture ?? CultureInfo.InvariantCulture;
79+
if (!string.IsNullOrWhiteSpace(tenant.Culture) &&
80+
!string.Equals(culture.Name, tenant.Culture))
81+
{
82+
culture = new CultureInfo(tenant.Culture);
83+
}
84+
return culture;
85+
}
86+
7287
#endregion
7388

7489
#region User

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFramework>net7.0</TargetFramework>
5-
<Version>0.6.0-beta.9</Version>
5+
<Version>0.6.0-beta.10</Version>
66
<FileVersion>0.6.0</FileVersion>
77
<InformationalVersion></InformationalVersion>
88
<Authors>Jani Giannoudis</Authors>

0 commit comments

Comments
 (0)