Browse Source

Changes in Xamarin Client to fox image erro with local Docker

pull/49/merge
Javier Suárez Ruiz 8 years ago
parent
commit
67bfe7ddf9
8 changed files with 40 additions and 60 deletions
  1. +36
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/ServicesHelper.cs
  2. +1
    -20
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Catalog/CatalogService.cs
  3. +0
    -7
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/IPAddress/IIPAddressService.cs
  4. +1
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj
  5. +0
    -25
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/IPAddress/IPAddressService.cs
  6. +0
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj
  7. +1
    -3
      src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj
  8. +1
    -3
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj

+ 36
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/ServicesHelper.cs View File

@ -0,0 +1,36 @@
using eShopOnContainers.Core.Models.Catalog;
using eShopOnContainers.ViewModels.Base;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace eShopOnContainers.Core.Helpers
{
public static class ServicesHelper
{
public static void FixCatalogItemPictureUri(IEnumerable<CatalogItem> catalogItems)
{
if(catalogItems == null)
{
return;
}
if (!ViewModelLocator.Instance.UseMockService
&& Settings.UrlBase != GlobalSetting.DefaultEndpoint)
{
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);
if (serverResult.Count != -1 && localResult.Count != -1)
{
var serviceIp = serverResult[0].Value;
var localIp = localResult[0].Value;
catalogItem.PictureUri = catalogItem.PictureUri.Replace(serviceIp, localIp);
}
}
}
}
}
}

+ 1
- 20
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Catalog/CatalogService.cs View File

@ -5,11 +5,7 @@ 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;
using System.Text.RegularExpressions;
namespace eShopOnContainers.Core.Services.Catalog
{
@ -61,22 +57,7 @@ namespace eShopOnContainers.Core.Services.Catalog
if (catalog?.Data != null)
{
// TODO: Experimental
if (!ViewModelLocator.Instance.UseMockService && Settings.UrlBase != GlobalSetting.DefaultEndpoint)
{
foreach (var catalogItem in catalog?.Data)
{
//string ipaddress = DependencyService.Get<IIPAddressService>().GetIPAddress();
Regex ip = new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b");
MatchCollection result = ip.Matches(catalogItem.PictureUri);
if (result.Count != -1)
{
var serviceIp = result[0].Value;
catalogItem.PictureUri = catalogItem.PictureUri.Replace(serviceIp, Settings.UrlBase);
}
}
}
ServicesHelper.FixCatalogItemPictureUri(catalog?.Data);
return catalog?.Data.ToObservableCollection();
}


+ 0
- 7
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/IPAddress/IIPAddressService.cs View File

@ -1,7 +0,0 @@
namespace eShopOnContainers.Core.Services.IPAddress
{
public interface IIPAddressService
{
string GetIPAddress();
}
}

+ 1
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj View File

@ -66,6 +66,7 @@
<Compile Include="Extensions\ObservableExtension.cs" />
<Compile Include="GlobalSettings.cs" />
<Compile Include="Helpers\EasingHelper.cs" />
<Compile Include="Helpers\ServicesHelper.cs" />
<Compile Include="Helpers\Settings.cs" />
<Compile Include="Models\Basket\BasketItem.cs" />
<Compile Include="Models\Basket\CustomerBasket.cs" />
@ -94,7 +95,6 @@
<Compile Include="Services\Dialog\IDialogService.cs" />
<Compile Include="Services\Identity\IdentityService.cs" />
<Compile Include="Services\Identity\IIdentityService.cs" />
<Compile Include="Services\IPAddress\IIPAddressService.cs" />
<Compile Include="Services\Navigation\INavigationService.cs" />
<Compile Include="Services\Navigation\NavigationService.cs" />
<Compile Include="Services\OpenUrl\IOpenUrlService.cs" />


+ 0
- 25
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/IPAddress/IPAddressService.cs View File

@ -1,25 +0,0 @@
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;
}
}
}
}

+ 0
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj View File

@ -231,7 +231,6 @@
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" />
<Compile Include="Resources\Resource.Designer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\IPAddress\IPAddressService.cs" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="..\CommonResources\Fonts\Montserrat-Bold.ttf">


+ 1
- 3
src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj View File

@ -178,9 +178,7 @@
<Name>eShopOnContainers.Core</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Services\IPAddress\" />
</ItemGroup>
<ItemGroup />
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
<VisualStudioVersion>14.0</VisualStudioVersion>
</PropertyGroup>


+ 1
- 3
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj View File

@ -429,9 +429,7 @@
<Name>eShopOnContainers.Core</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Services\IPAddress\" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>


Loading…
Cancel
Save