From 4d58ee27a9fd57fd061000473cfd5206e47aec51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Su=C3=A1rez=20Ruiz?= Date: Tue, 10 Jan 2017 15:58:21 +0100 Subject: [PATCH] Fixed local Docker images in Xamarin client --- .../Helpers/ServicesHelper.cs | 35 ++++++++++++++++--- .../Services/Basket/BasketService.cs | 3 ++ .../eShopOnContainers.TestRunner.Droid.csproj | 2 +- ...opOnContainers.TestRunner.Droid.csproj.bak | 2 +- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/ServicesHelper.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/ServicesHelper.cs index cabe539a1..63db0adf7 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/ServicesHelper.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/ServicesHelper.cs @@ -1,4 +1,5 @@ -using eShopOnContainers.Core.Models.Catalog; +using eShopOnContainers.Core.Models.Basket; +using eShopOnContainers.Core.Models.Catalog; using eShopOnContainers.ViewModels.Base; using System.Collections.Generic; using System.Text.RegularExpressions; @@ -7,6 +8,8 @@ namespace eShopOnContainers.Core.Helpers { 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 catalogItems) { if(catalogItems == null) @@ -19,9 +22,8 @@ namespace eShopOnContainers.Core.Helpers { 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 = ip.Matches(catalogItem.PictureUri); - MatchCollection localResult = ip.Matches(Settings.UrlBase); + MatchCollection serverResult = IpRegex.Matches(catalogItem.PictureUri); + MatchCollection localResult = IpRegex.Matches(Settings.UrlBase); if (serverResult.Count != -1 && localResult.Count != -1) { @@ -32,5 +34,30 @@ namespace eShopOnContainers.Core.Helpers } } } + + public static void FixBasketItemPictureUri(IEnumerable 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); + } + } + } + } } } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Basket/BasketService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Basket/BasketService.cs index bf89afb13..34c6de466 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Basket/BasketService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Basket/BasketService.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using eShopOnContainers.Core.Services.RequestProvider; using eShopOnContainers.Core.Models.Basket; +using eShopOnContainers.Core.Helpers; namespace eShopOnContainers.Core.Services.Basket { @@ -27,6 +28,8 @@ namespace eShopOnContainers.Core.Services.Basket CustomerBasket basket = await _requestProvider.GetAsync(uri, token); + ServicesHelper.FixBasketItemPictureUri(basket?.Items); + return basket; } catch diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj index c9cb8a265..ffa9c0b55 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj @@ -16,7 +16,7 @@ Resources\Resource.Designer.cs Off True - v6.0 + v7.0 Properties\AndroidManifest.xml diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj.bak b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj.bak index ffa9c0b55..c9cb8a265 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj.bak +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj.bak @@ -16,7 +16,7 @@ Resources\Resource.Designer.cs Off True - v7.0 + v6.0 Properties\AndroidManifest.xml