Skip to content

Commit 85c9af6

Browse files
committed
Add serviceHelper and add campaingTemplate in campaing view
1 parent 8a73ee4 commit 85c9af6

4 files changed

Lines changed: 155 additions & 117 deletions

File tree

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/ServicesHelper.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using eShopOnContainers.Core.Models.Basket;
22
using eShopOnContainers.Core.Models.Catalog;
3+
using eShopOnContainers.Core.Models.Marketing;
34
using eShopOnContainers.Core.ViewModels.Base;
45
using System;
56
using System.Collections.Generic;
@@ -76,5 +77,38 @@ public static void FixBasketItemPictureUri(IEnumerable<BasketItem> basketItems)
7677
Debug.WriteLine(ex.Message);
7778
}
7879
}
80+
81+
public static void FixCatalogItemPictureUri(IEnumerable<CampaignItem> campaignItems)
82+
{
83+
if (campaignItems == null)
84+
{
85+
return;
86+
}
87+
88+
try
89+
{
90+
if (!ViewModelLocator.UseMockService
91+
&& Settings.UrlBase != GlobalSetting.DefaultEndpoint)
92+
{
93+
foreach (var catalogItem in campaignItems)
94+
{
95+
MatchCollection serverResult = IpRegex.Matches(catalogItem.PictureUri);
96+
MatchCollection localResult = IpRegex.Matches(Settings.UrlBase);
97+
98+
if (serverResult.Count != -1 && localResult.Count != -1)
99+
{
100+
var serviceIp = serverResult[0].Value;
101+
var localIp = localResult[0].Value;
102+
103+
catalogItem.PictureUri = catalogItem.PictureUri.Replace(serviceIp, localIp);
104+
}
105+
}
106+
}
107+
}
108+
catch (Exception ex)
109+
{
110+
Debug.WriteLine(ex.Message);
111+
}
112+
}
79113
}
80114
}

src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignViewModel.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Threading.Tasks;
1+
using System.Runtime.CompilerServices;
2+
using System.Threading.Tasks;
23
using System.Windows.Input;
34
using eShopOnContainers.Core.Helpers;
45
using eShopOnContainers.Core.Models.Catalog;
@@ -14,15 +15,15 @@ namespace eShopOnContainers.Core.ViewModels
1415

1516
public class CampaignViewModel : ViewModelBase
1617
{
17-
private ObservableCollection<Campaign> _campaigns;
18+
private ObservableCollection<CampaignItem> _campaigns;
1819
private readonly ICampaignService _campaignService;
1920

2021
public CampaignViewModel(ICampaignService campaignService)
2122
{
2223
_campaignService = campaignService;
2324
}
2425

25-
public ObservableCollection<Campaign> Campaigns
26+
public ObservableCollection<CampaignItem> Campaigns
2627
{
2728
get => _campaigns;
2829
set
@@ -32,7 +33,7 @@ public ObservableCollection<Campaign> Campaigns
3233
}
3334
}
3435

35-
public ICommand GetCampaignDetailsCommand => new Command<Campaign>(GetCampaignDetails);
36+
public ICommand GetCampaignDetailsCommand => new Command<CampaignItem>(async (item) => await GetCampaignDetails(item));
3637

3738
public override async Task InitializeAsync(object navigationData)
3839
{
@@ -44,9 +45,9 @@ public override async Task InitializeAsync(object navigationData)
4445
IsBusy = false;
4546
}
4647

47-
private void GetCampaignDetails(Campaign campaign)
48+
private async Task GetCampaignDetails(CampaignItem campaign)
4849
{
49-
50+
await NavigationService.NavigateToAsync<CampaignDetailsViewModel>(campaign.Id);
5051
}
5152
}
5253
}

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignView.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
<ListView.ItemTemplate>
7575
<DataTemplate>
7676
<ViewCell>
77-
<templates:ProductTemplate />
77+
<templates:CampaignTemplate />
7878
</ViewCell>
7979
</DataTemplate>
8080
</ListView.ItemTemplate>

0 commit comments

Comments
 (0)