Fixed local Docker images in Xamarin client

This commit is contained in:
Javier Suárez Ruiz 2017-01-10 15:58:21 +01:00
parent e89221214a
commit 4d58ee27a9
4 changed files with 36 additions and 6 deletions

View File

@ -1,4 +1,5 @@
using eShopOnContainers.Core.Models.Catalog; using eShopOnContainers.Core.Models.Basket;
using eShopOnContainers.Core.Models.Catalog;
using eShopOnContainers.ViewModels.Base; using eShopOnContainers.ViewModels.Base;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
@ -7,6 +8,8 @@ namespace eShopOnContainers.Core.Helpers
{ {
public static class ServicesHelper public static class ServicesHelper
{ {
private static Regex IpRegex = new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b");
public static void FixCatalogItemPictureUri(IEnumerable<CatalogItem> catalogItems) public static void FixCatalogItemPictureUri(IEnumerable<CatalogItem> catalogItems)
{ {
if(catalogItems == null) if(catalogItems == null)
@ -19,9 +22,8 @@ namespace eShopOnContainers.Core.Helpers
{ {
foreach (var catalogItem in catalogItems) foreach (var catalogItem in catalogItems)
{ {
Regex ip = new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b"); MatchCollection serverResult = IpRegex.Matches(catalogItem.PictureUri);
MatchCollection serverResult = ip.Matches(catalogItem.PictureUri); MatchCollection localResult = IpRegex.Matches(Settings.UrlBase);
MatchCollection localResult = ip.Matches(Settings.UrlBase);
if (serverResult.Count != -1 && localResult.Count != -1) if (serverResult.Count != -1 && localResult.Count != -1)
{ {
@ -32,5 +34,30 @@ namespace eShopOnContainers.Core.Helpers
} }
} }
} }
public static void FixBasketItemPictureUri(IEnumerable<BasketItem> basketItems)
{
if (basketItems == null)
{
return;
}
if (!ViewModelLocator.Instance.UseMockService
&& Settings.UrlBase != GlobalSetting.DefaultEndpoint)
{
foreach (var basketItem in basketItems)
{
MatchCollection serverResult = IpRegex.Matches(basketItem.PictureUrl);
MatchCollection localResult = IpRegex.Matches(Settings.UrlBase);
if (serverResult.Count != -1 && localResult.Count != -1)
{
var serviceIp = serverResult[0].Value;
var localIp = localResult[0].Value;
basketItem.PictureUrl = basketItem.PictureUrl.Replace(serviceIp, localIp);
}
}
}
}
} }
} }

View File

@ -2,6 +2,7 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using eShopOnContainers.Core.Services.RequestProvider; using eShopOnContainers.Core.Services.RequestProvider;
using eShopOnContainers.Core.Models.Basket; using eShopOnContainers.Core.Models.Basket;
using eShopOnContainers.Core.Helpers;
namespace eShopOnContainers.Core.Services.Basket namespace eShopOnContainers.Core.Services.Basket
{ {
@ -27,6 +28,8 @@ namespace eShopOnContainers.Core.Services.Basket
CustomerBasket basket = CustomerBasket basket =
await _requestProvider.GetAsync<CustomerBasket>(uri, token); await _requestProvider.GetAsync<CustomerBasket>(uri, token);
ServicesHelper.FixBasketItemPictureUri(basket?.Items);
return basket; return basket;
} }
catch catch

View File

@ -16,7 +16,7 @@
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile> <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk> <AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion> <TargetFrameworkVersion>v7.0</TargetFrameworkVersion>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest> <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>

View File

@ -16,7 +16,7 @@
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile> <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk> <AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v7.0</TargetFrameworkVersion> <TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest> <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>