Skip to content

Commit f91e888

Browse files
Merge branch 'dev' into feat/VCST-3534
2 parents c3ca609 + f7af5d7 commit f91e888

File tree

7 files changed

+44
-17
lines changed

7 files changed

+44
-17
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project>
33
<!-- These properties will be shared for all projects -->
44
<PropertyGroup>
5-
<VersionPrefix>3.917.0</VersionPrefix>
5+
<VersionPrefix>3.919.0</VersionPrefix>
66
<VersionSuffix></VersionSuffix>
77
<VersionSuffix Condition=" '$(VersionSuffix)' != '' AND '$(BuildNumber)' != '' ">$(VersionSuffix)-$(BuildNumber)</VersionSuffix>
88
</PropertyGroup>

src/VirtoCommerce.Xapi.Core/Extensions/IHasLanguageExtensions.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,21 @@ public static T FirstBestMatchForLanguage<T>(this IEnumerable<T> hasLanguages, F
3636
/// <param name="hasLanguages">An enumerable with values to search</param>
3737
/// <param name="language">Language to search</param>
3838
/// <returns>First matching item to the specified language</returns>
39+
[Obsolete("Use IEnumerable<IHasLanguageCode>.FirstBestMatchForLanguage()", DiagnosticId = "VC0011", UrlFormat = "https://docs.virtocommerce.org/products/products-virto3-versions")]
3940
public static IHasLanguage FirstBestMatchForLanguage(this IEnumerable<IHasLanguage> hasLanguages, string language)
4041
{
4142
return hasLanguages.FirstBestMatchForLanguage(x => x.LanguageCode, language);
4243
}
44+
45+
/// <summary>
46+
/// Looking for first best-match language-specific value in the enumerable
47+
/// </summary>
48+
/// <param name="hasLanguages">An enumerable with values to search</param>
49+
/// <param name="language">Language to search</param>
50+
/// <returns>First matching item to the specified language</returns>
51+
public static IHasLanguageCode FirstBestMatchForLanguage(this IEnumerable<IHasLanguageCode> hasLanguages, string language)
52+
{
53+
return hasLanguages.FirstBestMatchForLanguage(x => x.LanguageCode, language);
54+
}
4355
}
4456
}

src/VirtoCommerce.Xapi.Core/Services/ILoadUserToEvalContextService.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,7 @@ namespace VirtoCommerce.Xapi.Core.Services
66
public interface ILoadUserToEvalContextService
77
{
88
Task SetShopperDataFromMember(EvaluationContextBase evalContextBase, string customerId);
9+
10+
Task SetShopperDataFromOrganization(EvaluationContextBase evalContextBase, string organizationId);
911
}
1012
}

src/VirtoCommerce.Xapi.Core/VirtoCommerce.Xapi.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<PackageReference Include="PipelineNet" Version="0.9.0" />
2828
<PackageReference Include="RedLock.net" Version="2.3.2" />
2929
<PackageReference Include="System.Reactive" Version="6.0.0" />
30-
<PackageReference Include="VirtoCommerce.Platform.Core" Version="3.889.0" />
30+
<PackageReference Include="VirtoCommerce.Platform.Core" Version="3.895.0" />
3131
<PackageReference Include="VirtoCommerce.CustomerModule.Core" Version="3.833.0" />
3232
<PackageReference Include="VirtoCommerce.SearchModule.Core" Version="3.804.0" />
3333
<PackageReference Include="VirtoCommerce.Seo.Core" Version="3.806.0-alpha.40-vcst-3534" />

src/VirtoCommerce.Xapi.Data/Services/LoadUserToEvalContextService.cs

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,37 @@ public virtual async Task SetShopperDataFromMember(EvaluationContextBase evalCon
4343

4444
evalContextBase.GeoTimeZone = contact.TimeZone;
4545

46-
evalContextBase.UserGroups = contact.Groups?.ToArray();
46+
var userGroups = new List<string>();
4747

48-
if (!contact.Organizations.IsNullOrEmpty())
48+
if (!evalContextBase.UserGroups.IsNullOrEmpty())
4949
{
50-
var userGroups = new List<string>();
51-
52-
if (!evalContextBase.UserGroups.IsNullOrEmpty())
53-
{
54-
userGroups.AddRange(evalContextBase.UserGroups);
55-
}
50+
userGroups.AddRange(evalContextBase.UserGroups);
51+
}
5652

57-
var organizations = await _memberService.GetByIdsAsync(contact.Organizations.ToArray(), MemberResponseGroup.WithGroups.ToString());
58-
userGroups.AddRange(organizations.OfType<Organization>().SelectMany(x => x.Groups));
53+
userGroups.AddRange(contact.Groups?.ToArray());
5954

60-
evalContextBase.UserGroups = userGroups.Distinct().ToArray();
61-
}
55+
evalContextBase.UserGroups = userGroups.Distinct().ToArray();
6256
}
6357
}
6458

59+
public async Task SetShopperDataFromOrganization(EvaluationContextBase evalContextBase, string organizationId)
60+
{
61+
if (organizationId.IsNullOrEmpty())
62+
{
63+
return;
64+
}
65+
66+
var userGroups = new List<string>();
67+
68+
if (!evalContextBase.UserGroups.IsNullOrEmpty())
69+
{
70+
userGroups.AddRange(evalContextBase.UserGroups);
71+
}
72+
73+
var organizations = await _memberService.GetByIdsAsync([organizationId], MemberResponseGroup.WithGroups.ToString());
74+
userGroups.AddRange(organizations.OfType<Organization>().SelectMany(x => x.Groups));
75+
76+
evalContextBase.UserGroups = userGroups.Distinct().ToArray();
77+
}
6578
}
6679
}

src/VirtoCommerce.Xapi.Data/VirtoCommerce.Xapi.Data.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</PropertyGroup>
1111
<ItemGroup>
1212
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
13-
<PackageReference Include="VirtoCommerce.Platform.Security" Version="3.889.0" />
13+
<PackageReference Include="VirtoCommerce.Platform.Security" Version="3.895.0" />
1414
</ItemGroup>
1515
<ItemGroup>
1616
<ProjectReference Include="..\VirtoCommerce.Xapi.Core\VirtoCommerce.Xapi.Core.csproj" />

src/VirtoCommerce.Xapi.Web/module.manifest

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<module>
33
<id>VirtoCommerce.Xapi</id>
4-
<version>3.917.0</version>
4+
<version>3.919.0</version>
55
<version-tag></version-tag>
66

7-
<platformVersion>3.889.0</platformVersion>
7+
<platformVersion>3.895.0</platformVersion>
88
<dependencies>
99
<dependency id="VirtoCommerce.ApplicationInsights" version="3.804.0" optional="true" />
1010
<dependency id="VirtoCommerce.Customer" version="3.833.0" />

0 commit comments

Comments
 (0)