Refactoring and Adding Tests (#28)

* Introducing repository and refactoring services.
Changing entities to use int keys everywhere.

* Refactoring application services to live in web project and only reference repositories, not EF contexts.

* Cleaning up implementations

* Moving logic out of CatalogController
Moving entity knowledge out of viewmodels.

* Implementing specification includes better for catalogservice

* Cleaning up and adding specification unit tests
This commit is contained in:
Steve Smith
2017-08-07 13:25:11 -04:00
committed by GitHub
parent 084db74c77
commit d7eb59c097
41 changed files with 449 additions and 360 deletions

View File

@@ -0,0 +1,14 @@
using Microsoft.eShopWeb.ViewModels;
using System.Threading.Tasks;
namespace ApplicationCore.Interfaces
{
public interface IBasketService
{
Task<BasketViewModel> GetBasket(int basketId);
Task<BasketViewModel> CreateBasket();
Task<BasketViewModel> CreateBasketForUser(string userId);
Task AddItemToBasket(int basketId, int catalogItemId, decimal price, int quantity);
}
}

View File

@@ -7,7 +7,7 @@ namespace Microsoft.eShopWeb.Services
{
public interface ICatalogService
{
Task<Catalog> GetCatalogItems(int pageIndex, int itemsPage, int? brandID, int? typeId);
Task<CatalogIndexViewModel> GetCatalogItems(int pageIndex, int itemsPage, int? brandId, int? typeId);
Task<IEnumerable<SelectListItem>> GetBrands();
Task<IEnumerable<SelectListItem>> GetTypes();
}