Skip to content

Commit c446af0

Browse files
committed
Protect from null the Checkout proccess
1 parent 9181946 commit c446af0

4 files changed

Lines changed: 42 additions & 25 deletions

File tree

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
using eShopOnContainers.Core.Models.Basket;
22
using eShopOnContainers.Core.Models.Catalog;
33
using eShopOnContainers.ViewModels.Base;
4+
using System;
45
using System.Collections.Generic;
6+
using System.Diagnostics;
57
using System.Text.RegularExpressions;
68

79
namespace eShopOnContainers.Core.Helpers
@@ -12,27 +14,35 @@ public static class ServicesHelper
1214

1315
public static void FixCatalogItemPictureUri(IEnumerable<CatalogItem> catalogItems)
1416
{
15-
if(catalogItems == null)
17+
if (catalogItems == null)
1618
{
1719
return;
1820
}
1921

20-
if (!ViewModelLocator.Instance.UseMockService
21-
&& Settings.UrlBase != GlobalSetting.DefaultEndpoint)
22+
try
2223
{
23-
foreach (var catalogItem in catalogItems)
24+
if (!ViewModelLocator.Instance.UseMockService
25+
&& Settings.UrlBase != GlobalSetting.DefaultEndpoint)
2426
{
25-
MatchCollection serverResult = IpRegex.Matches(catalogItem.PictureUri);
26-
MatchCollection localResult = IpRegex.Matches(Settings.UrlBase);
27-
28-
if (serverResult.Count != -1 && localResult.Count != -1)
27+
foreach (var catalogItem in catalogItems)
2928
{
30-
var serviceIp = serverResult[0].Value;
31-
var localIp = localResult[0].Value;
32-
catalogItem.PictureUri = catalogItem.PictureUri.Replace(serviceIp, localIp);
29+
MatchCollection serverResult = IpRegex.Matches(catalogItem.PictureUri);
30+
MatchCollection localResult = IpRegex.Matches(Settings.UrlBase);
31+
32+
if (serverResult.Count != -1 && localResult.Count != -1)
33+
{
34+
var serviceIp = serverResult[0].Value;
35+
var localIp = localResult[0].Value;
36+
37+
catalogItem.PictureUri = catalogItem.PictureUri.Replace(serviceIp, localIp);
38+
}
3339
}
3440
}
3541
}
42+
catch (Exception ex)
43+
{
44+
Debug.WriteLine(ex.Message);
45+
}
3646
}
3747

3848
public static void FixBasketItemPictureUri(IEnumerable<BasketItem> basketItems)
@@ -42,22 +52,29 @@ public static void FixBasketItemPictureUri(IEnumerable<BasketItem> basketItems)
4252
return;
4353
}
4454

45-
if (!ViewModelLocator.Instance.UseMockService
46-
&& Settings.UrlBase != GlobalSetting.DefaultEndpoint)
55+
try
4756
{
48-
foreach (var basketItem in basketItems)
57+
if (!ViewModelLocator.Instance.UseMockService
58+
&& Settings.UrlBase != GlobalSetting.DefaultEndpoint)
4959
{
50-
MatchCollection serverResult = IpRegex.Matches(basketItem.PictureUrl);
51-
MatchCollection localResult = IpRegex.Matches(Settings.UrlBase);
52-
53-
if (serverResult.Count != -1 && localResult.Count != -1)
60+
foreach (var basketItem in basketItems)
5461
{
55-
var serviceIp = serverResult[0].Value;
56-
var localIp = localResult[0].Value;
57-
basketItem.PictureUrl = basketItem.PictureUrl.Replace(serviceIp, localIp);
62+
MatchCollection serverResult = IpRegex.Matches(basketItem.PictureUrl);
63+
MatchCollection localResult = IpRegex.Matches(Settings.UrlBase);
64+
65+
if (serverResult.Count != -1 && localResult.Count != -1)
66+
{
67+
var serviceIp = serverResult[0].Value;
68+
var localIp = localResult[0].Value;
69+
basketItem.PictureUrl = basketItem.PictureUrl.Replace(serviceIp, localIp);
70+
}
5871
}
5972
}
6073
}
74+
catch (Exception ex)
75+
{
76+
Debug.WriteLine(ex.Message);
77+
}
6178
}
6279
}
6380
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,13 @@ public override async Task InitializeAsync(object navigationData)
7979

8080
OrderItems = orderItems;
8181

82-
var authToken = Settings.AuthAccessToken;
82+
var authToken = Settings.AuthAccessToken;
8383
var userInfo = await _userService.GetUserInfoAsync(authToken);
8484

8585
// Create Shipping Address
8686
ShippingAddress = new Address
8787
{
88-
Id = new Guid(userInfo.UserId),
88+
Id = !string.IsNullOrEmpty(userInfo?.UserId) ? new Guid(userInfo.UserId) : Guid.NewGuid(),
8989
Street = userInfo?.Street,
9090
ZipCode = userInfo?.ZipCode,
9191
State = userInfo?.State,

src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
1717
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
1818
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
19-
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
19+
<TargetFrameworkVersion>v7.1</TargetFrameworkVersion>
2020
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
2121
<NuGetPackageImportStamp>
2222
</NuGetPackageImportStamp>

src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj.bak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
1717
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
1818
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
19-
<TargetFrameworkVersion>v7.0</TargetFrameworkVersion>
19+
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
2020
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
2121
<NuGetPackageImportStamp>
2222
</NuGetPackageImportStamp>

0 commit comments

Comments
 (0)