|
|
|
@ -3,26 +3,26 @@ using System.Linq; |
|
|
|
|
|
|
|
namespace Microsoft.eShopWeb.ApplicationCore.Entities |
|
|
|
{ |
|
|
|
public class Basket : BaseEntity |
|
|
|
{ |
|
|
|
public string BuyerId { get; set; } |
|
|
|
private readonly List<BasketItem> _items = new List<BasketItem>(); |
|
|
|
public IEnumerable<BasketItem> Items => _items.ToList(); |
|
|
|
public class Basket : BaseEntity |
|
|
|
{ |
|
|
|
public string BuyerId { get; set; } |
|
|
|
private readonly List<BasketItem> _items = new List<BasketItem>(); |
|
|
|
public IReadOnlyCollection<BasketItem> Items => _items.AsReadOnly(); |
|
|
|
|
|
|
|
public void AddItem(int catalogItemId, decimal unitPrice, int quantity = 1) |
|
|
|
public void AddItem(int catalogItemId, decimal unitPrice, int quantity = 1) |
|
|
|
{ |
|
|
|
if (!Items.Any(i => i.CatalogItemId == catalogItemId)) |
|
|
|
{ |
|
|
|
if (!Items.Any(i => i.CatalogItemId == catalogItemId)) |
|
|
|
_items.Add(new BasketItem() |
|
|
|
{ |
|
|
|
_items.Add(new BasketItem() |
|
|
|
{ |
|
|
|
CatalogItemId = catalogItemId, |
|
|
|
Quantity = quantity, |
|
|
|
UnitPrice = unitPrice |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
var existingItem = Items.FirstOrDefault(i => i.CatalogItemId == catalogItemId); |
|
|
|
existingItem.Quantity += quantity; |
|
|
|
CatalogItemId = catalogItemId, |
|
|
|
Quantity = quantity, |
|
|
|
UnitPrice = unitPrice |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
var existingItem = Items.FirstOrDefault(i => i.CatalogItemId == catalogItemId); |
|
|
|
existingItem.Quantity += quantity; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|