Skip to content

Commit e9c9ccd

Browse files
committed
Integrated with user API
Refactoring Mocks and App
1 parent ea2aa57 commit e9c9ccd

26 files changed

Lines changed: 246 additions & 309 deletions

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Extensions/ObservableExtension.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,19 @@ public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable
99
{
1010
ObservableCollection<T> collection = new ObservableCollection<T>();
1111

12-
foreach (T item in source)
12+
try
1313
{
14-
collection.Add(item);
15-
}
14+
foreach (T item in source)
15+
{
16+
collection.Add(item);
17+
}
1618

17-
return collection;
19+
return collection;
20+
}
21+
catch
22+
{
23+
return collection;
24+
}
1825
}
1926
}
2027
}

src/Mobile/eShopOnContainers/eShopOnContainers.Core/GlobalSettings.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public string BaseEndpoint
3535

3636
public string IdentityEndpoint { get; set; }
3737

38+
public string UserInfoEndpoint { get; set; }
39+
3840
public string LogoutEndpoint { get; set; }
3941

4042
public string IdentityCallback { get; set; }
@@ -46,6 +48,7 @@ private void UpdateEndpoint(string baseEndpoint)
4648
OrdersEndpoint = string.Format("{0}:5102", baseEndpoint);
4749
BasketEndpoint = string.Format("{0}:5103", baseEndpoint);
4850
IdentityEndpoint = string.Format("{0}:5105/connect/authorize", baseEndpoint);
51+
UserInfoEndpoint = string.Format("{0}:5105/connect/userinfo", baseEndpoint);
4952
LogoutEndpoint = string.Format("{0}:5105/connect/endsession", baseEndpoint);
5053
IdentityCallback = "http://eshopxamarin/callback.html";
5154
}

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Helpers/NumericHelper.cs

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Basket/BasketItem.cs

Lines changed: 9 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,23 @@
1-
using eShopOnContainers.Core.Helpers;
2-
using eShopOnContainers.Core.ViewModels.Base;
3-
using eShopOnContainers.ViewModels.Base;
4-
using System;
5-
using System.Collections.ObjectModel;
6-
using Xamarin.Forms;
1+
using System;
72

83
namespace eShopOnContainers.Core.Models.Basket
94
{
10-
public class BasketItem : ExtendedBindableObject
5+
public class BasketItem
116
{
12-
private string _id;
13-
private string _productId;
14-
private string _productName;
15-
private decimal _unitPrice;
16-
private int _quantity;
17-
private string _pictureUrl;
18-
private ObservableCollection<int> _numbers;
7+
public string Id { get; set; }
8+
9+
public string ProductId { get; set; }
1910

20-
public BasketItem()
21-
{
22-
Numbers = NumericHelper.GetNumericList();
23-
}
11+
public string ProductName { get; set; }
2412

25-
public string Id
26-
{
27-
get { return _id; }
28-
set
29-
{
30-
_id = value;
31-
RaisePropertyChanged(() => Id);
32-
}
33-
}
13+
public decimal UnitPrice { get; set; }
3414

35-
public string ProductId
36-
{
37-
get { return _productId; }
38-
set
39-
{
40-
_productId = value;
41-
RaisePropertyChanged(() => ProductId);
42-
}
43-
}
15+
public int Quantity { get; set; }
4416

45-
public string ProductName
46-
{
47-
get { return _productName; }
48-
set
49-
{
50-
_productName = value;
51-
RaisePropertyChanged(() => ProductName);
52-
}
53-
}
54-
55-
public decimal UnitPrice
56-
{
57-
get { return _unitPrice; }
58-
set
59-
{
60-
_unitPrice = value;
61-
RaisePropertyChanged(() => UnitPrice);
62-
}
63-
}
64-
65-
public int Quantity
66-
{
67-
get { return _quantity; }
68-
set
69-
{
70-
if (_quantity != value)
71-
{
72-
_quantity = value;
73-
RaisePropertyChanged(() => Quantity);
74-
RaisePropertyChanged(() => Total);
75-
76-
MessagingCenter.Send(this, MessengerKeys.UpdateProduct);
77-
}
78-
}
79-
}
80-
81-
public string PictureUrl
82-
{
83-
get { return _pictureUrl; }
84-
set
85-
{
86-
_pictureUrl = value;
87-
RaisePropertyChanged(() => PictureUrl);
88-
}
89-
}
17+
public string PictureUrl { get; set; }
9018

9119
public decimal Total { get { return Quantity * UnitPrice; } }
9220

93-
public ObservableCollection<int> Numbers
94-
{
95-
get { return _numbers; }
96-
set
97-
{
98-
_numbers = value;
99-
RaisePropertyChanged(() => Numbers);
100-
}
101-
}
102-
10321
public override string ToString()
10422
{
10523
return String.Format("Product Id: {0}, Quantity: {1}", ProductId, Quantity);

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Orders/OrderItem.cs

Lines changed: 9 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,18 @@
1-
using eShopOnContainers.Core.Helpers;
2-
using eShopOnContainers.ViewModels.Base;
3-
using System;
4-
using System.Collections.ObjectModel;
1+
using System;
52

63
namespace eShopOnContainers.Core.Models.Orders
74
{
8-
public class OrderItem : ExtendedBindableObject
5+
public class OrderItem
96
{
10-
private string _pictureUrl;
11-
private string _productId;
12-
private Guid _orderId;
13-
private string _productName;
14-
private decimal _unitPrice;
15-
private int _quantity;
16-
private decimal _discount;
17-
private ObservableCollection<int> _numbers;
18-
19-
public OrderItem()
20-
{
21-
Numbers = NumericHelper.GetNumericList();
22-
}
23-
24-
public string ProductId
25-
{
26-
get { return _productId; }
27-
set
28-
{
29-
_productId = value;
30-
RaisePropertyChanged(() => ProductId);
31-
}
32-
}
33-
34-
public Guid OrderId
35-
{
36-
get { return _orderId; }
37-
set
38-
{
39-
_orderId = value;
40-
RaisePropertyChanged(() => OrderId);
41-
}
42-
}
43-
44-
public string ProductName
45-
{
46-
get { return _productName; }
47-
set
48-
{
49-
_productName = value;
50-
RaisePropertyChanged(() => ProductName);
51-
}
52-
}
53-
54-
public decimal UnitPrice
55-
{
56-
get { return _unitPrice; }
57-
set
58-
{
59-
_unitPrice = value;
60-
RaisePropertyChanged(() => UnitPrice);
61-
}
62-
}
63-
64-
public int Quantity
65-
{
66-
get { return _quantity; }
67-
set
68-
{
69-
_quantity = value;
70-
RaisePropertyChanged(() => Quantity);
71-
RaisePropertyChanged(() => Total);
72-
}
73-
}
74-
75-
public decimal Discount
76-
{
77-
get { return _discount; }
78-
set
79-
{
80-
_discount = value;
81-
RaisePropertyChanged(() => Discount);
82-
}
83-
}
84-
7+
public Guid ProductId { get; set; }
8+
public Guid OrderId { get; set; }
9+
public decimal UnitPrice { get; set; }
10+
public string ProductName { get; set; }
11+
public string PictureUrl { get; set; }
12+
public int Quantity { get; set; }
13+
public decimal Discount { get; set; }
8514
public decimal Total { get { return Quantity * UnitPrice; } }
8615

87-
public string PictureUrl
88-
{
89-
get { return _pictureUrl; }
90-
set
91-
{
92-
_pictureUrl = value;
93-
RaisePropertyChanged(() => PictureUrl);
94-
}
95-
}
96-
97-
public ObservableCollection<int> Numbers
98-
{
99-
get { return _numbers; }
100-
set
101-
{
102-
_numbers = value;
103-
RaisePropertyChanged(() => Numbers);
104-
}
105-
}
106-
10716
public override string ToString()
10817
{
10918
return String.Format("Product Id: {0}, Quantity: {1}", ProductId, Quantity);

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/User/PaymentInfo.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
namespace eShopOnContainers.Core.Models.User
55
{
6-
76
public class PaymentInfo
87
{
98
public Guid Id { get; set; }
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
using Newtonsoft.Json;
2+
3+
namespace eShopOnContainers.Core.Models.User
4+
{
5+
public class UserInfo
6+
{
7+
[JsonProperty("sub")]
8+
public string UserId { get; set; }
9+
10+
[JsonProperty("preferred_username")]
11+
public string PreferredUsername { get; set; }
12+
13+
[JsonProperty("name")]
14+
public string Name { get; set; }
15+
16+
[JsonProperty("last_name")]
17+
public string LastName { get; set; }
18+
19+
[JsonProperty("card_number")]
20+
public string CardNumber { get; set; }
21+
22+
[JsonProperty("card_holder")]
23+
public string CardHolder { get; set; }
24+
25+
[JsonProperty("card_security_number")]
26+
public string CardSecurityNumber { get; set; }
27+
28+
[JsonProperty("address_city")]
29+
public string Address { get; set; }
30+
31+
[JsonProperty("address_country")]
32+
public string Country { get; set; }
33+
34+
[JsonProperty("address_state")]
35+
public string State { get; set; }
36+
37+
[JsonProperty("address_street")]
38+
public string Street { get; set; }
39+
40+
[JsonProperty("address_zip_code")]
41+
public string ZipCode { get; set; }
42+
43+
[JsonProperty("email")]
44+
public string Email { get; set; }
45+
46+
[JsonProperty("email_verified")]
47+
public bool EmailVerified { get; set; }
48+
49+
[JsonProperty("phone_number")]
50+
public string PhoneNumber { get; set; }
51+
52+
[JsonProperty("phone_number_verified")]
53+
public bool PhoneNumberVerified { get; set; }
54+
}
55+
}

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Basket/BasketMockService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ public class BasketMockService : IBasketService
1212
BuyerId = "9245fe4a-d402-451c-b9ed-9c1a04247482",
1313
Items = new List<BasketItem>
1414
{
15-
new BasketItem { Id = "1", PictureUrl = Device.OS != TargetPlatform.Windows ? "fake_product_01.png" : "Assets/fake_product_01.png", ProductId = "1", ProductName = ".NET Bot Blue Sweatshirt (M)", Quantity = 1, UnitPrice = 19.50M },
16-
new BasketItem { Id = "2", PictureUrl = Device.OS != TargetPlatform.Windows ? "fake_product_04.png" : "Assets/fake_product_04.png", ProductId = "4", ProductName = ".NET Black Cupt", Quantity = 1, UnitPrice = 17.00M }
15+
new BasketItem { Id = "1", PictureUrl = Device.OS != TargetPlatform.Windows ? "fake_product_01.png" : "Assets/fake_product_01.png", ProductId = Common.Common.MockCatalogItemId01.ToString(), ProductName = ".NET Bot Blue Sweatshirt (M)", Quantity = 1, UnitPrice = 19.50M },
16+
new BasketItem { Id = "2", PictureUrl = Device.OS != TargetPlatform.Windows ? "fake_product_04.png" : "Assets/fake_product_04.png", ProductId = Common.Common.MockCatalogItemId04.ToString(), ProductName = ".NET Black Cupt", Quantity = 1, UnitPrice = 17.00M }
1717
}
1818
};
1919

0 commit comments

Comments
 (0)