diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/GlobalSettings.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/GlobalSettings.cs index 3bb1630ea..a3c8d7623 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/GlobalSettings.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/GlobalSettings.cs @@ -4,6 +4,8 @@ { public const string AzureTag = "Azure"; public const string MockTag = "Mock"; + public const string DefaultEndpoint = "http://13.88.8.119"; + private string _baseEndpoint; private static readonly GlobalSetting _instance = new GlobalSetting(); @@ -11,7 +13,7 @@ public GlobalSetting() { AuthToken = "INSERT AUTHENTICATION TOKEN"; - BaseEndpoint = "http://13.88.8.119"; + BaseEndpoint = DefaultEndpoint; } public static GlobalSetting Instance diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Catalog/CatalogService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Catalog/CatalogService.cs index 2c6eee815..8fa500c55 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Catalog/CatalogService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Catalog/CatalogService.cs @@ -5,6 +5,10 @@ using eShopOnContainers.Core.Models.Catalog; using eShopOnContainers.Core.Services.RequestProvider; using eShopOnContainers.Core.Extensions; using System.Collections.Generic; +using eShopOnContainers.ViewModels.Base; +using eShopOnContainers.Core.Helpers; +using Xamarin.Forms; +using eShopOnContainers.Core.Services.IPAddress; namespace eShopOnContainers.Core.Services.Catalog { @@ -55,7 +59,19 @@ namespace eShopOnContainers.Core.Services.Catalog await _requestProvider.GetAsync(uri); if (catalog?.Data != null) + { + // TODO: Experimental + if (!ViewModelLocator.Instance.UseMockService && Settings.UrlBase != GlobalSetting.DefaultEndpoint) + { + foreach (var catalogItem in catalog?.Data) + { + string ipaddress = DependencyService.Get().GetIPAddress(); + catalogItem.PictureUri.Replace(Settings.UrlBase, ipaddress); + } + } + return catalog?.Data.ToObservableCollection(); + } else return new ObservableCollection(); } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/IPAddress/IIPAddressService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/IPAddress/IIPAddressService.cs new file mode 100644 index 000000000..3815d4948 --- /dev/null +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/IPAddress/IIPAddressService.cs @@ -0,0 +1,7 @@ +namespace eShopOnContainers.Core.Services.IPAddress +{ + public interface IIPAddressService + { + string GetIPAddress(); + } +} diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj index 98b98ffba..464ac10a9 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj @@ -94,6 +94,7 @@ + diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/IPAddress/IPAddressService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/IPAddress/IPAddressService.cs new file mode 100644 index 000000000..db5b99764 --- /dev/null +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/IPAddress/IPAddressService.cs @@ -0,0 +1,25 @@ +using eShopOnContainers.Core.Services.IPAddress; +using eShopOnContainers.Droid.Services.IPAddress; +using System.Net; +using Xamarin.Forms; + +[assembly: Dependency(typeof(IPAddressService))] +namespace eShopOnContainers.Droid.Services.IPAddress +{ + public class IPAddressService : IIPAddressService + { + public string GetIPAddress() + { + System.Net.IPAddress[] adresses = Dns.GetHostAddresses(Dns.GetHostName()); + + if (adresses != null && adresses[0] != null) + { + return adresses[0].ToString(); + } + else + { + return null; + } + } + } +} \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj index 6e6ab0b31..5ca6e334d 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj @@ -231,6 +231,7 @@ + diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj index 4d7f4f01e..14d889a32 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj @@ -178,6 +178,9 @@ eShopOnContainers.Core + + + 14.0 diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj index fa6103268..9ee6c4850 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj @@ -429,6 +429,9 @@ eShopOnContainers.Core + + +