Feature/respect encapsulation (#349)

* resolve osbsolete method

* put all properties as private, align unit test

* fix version of version in MD, add instruction to install ef tool

* fix url stored
This commit is contained in:
Cédric Michel
2020-02-03 20:47:59 +01:00
committed by GitHub
parent 288d827821
commit 3e228035c0
22 changed files with 162 additions and 99 deletions

View File

@@ -59,8 +59,8 @@ namespace Microsoft.eShopWeb.ApplicationCore.Services
{
if (quantities.TryGetValue(item.Id.ToString(), out var quantity))
{
if(_logger != null) _logger.LogInformation($"Updating quantity of item ID:{item.Id} to {quantity}.");
item.Quantity = quantity;
if (_logger != null) _logger.LogInformation($"Updating quantity of item ID:{item.Id} to {quantity}.");
item.SetNewQuantity(quantity);
}
}
basket.RemoveEmptyItems();
@@ -74,7 +74,7 @@ namespace Microsoft.eShopWeb.ApplicationCore.Services
var basketSpec = new BasketWithItemsSpecification(anonymousId);
var basket = (await _basketRepository.ListAsync(basketSpec)).FirstOrDefault();
if (basket == null) return;
basket.BuyerId = userName;
basket.SetNewBuyerId(userName);
await _basketRepository.UpdateAsync(basket);
}
}

View File

@@ -11,14 +11,17 @@ namespace Microsoft.eShopWeb.ApplicationCore.Services
public class OrderService : IOrderService
{
private readonly IAsyncRepository<Order> _orderRepository;
private readonly IUriComposer _uriComposer;
private readonly IAsyncRepository<Basket> _basketRepository;
private readonly IAsyncRepository<CatalogItem> _itemRepository;
public OrderService(IAsyncRepository<Basket> basketRepository,
IAsyncRepository<CatalogItem> itemRepository,
IAsyncRepository<Order> orderRepository)
IAsyncRepository<Order> orderRepository,
IUriComposer uriComposer)
{
_orderRepository = orderRepository;
_uriComposer = uriComposer;
_basketRepository = basketRepository;
_itemRepository = itemRepository;
}
@@ -31,7 +34,7 @@ namespace Microsoft.eShopWeb.ApplicationCore.Services
foreach (var item in basket.Items)
{
var catalogItem = await _itemRepository.GetByIdAsync(item.CatalogItemId);
var itemOrdered = new CatalogItemOrdered(catalogItem.Id, catalogItem.Name, catalogItem.PictureUri);
var itemOrdered = new CatalogItemOrdered(catalogItem.Id, catalogItem.Name,_uriComposer.ComposePicUri(catalogItem.PictureUri));
var orderItem = new OrderItem(itemOrdered, item.UnitPrice, item.Quantity);
items.Add(orderItem);
}