Skip to content

Commit

Permalink
Merge pull request dotnet-architecture#233 from dotnet-architecture/r…
Browse files Browse the repository at this point in the history
…ename-catalogservice

Renaming CatalogServices to CatalogViewModelService
  • Loading branch information
efleming18 authored Mar 30, 2019
2 parents f847697 + 555c329 commit 4ad595b
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 22 deletions.
6 changes: 3 additions & 3 deletions src/Web/Controllers/Api/CatalogController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ namespace Microsoft.eShopWeb.Web.Controllers.Api
{
public class CatalogController : BaseApiController
{
private readonly ICatalogService _catalogService;
private readonly ICatalogViewModelService _catalogViewModelService;

public CatalogController(ICatalogService catalogService) => _catalogService = catalogService;
public CatalogController(ICatalogViewModelService catalogViewModelService) => _catalogViewModelService = catalogViewModelService;

[HttpGet]
public async Task<IActionResult> List(int? brandFilterApplied, int? typesFilterApplied, int? page)
{
var itemsPage = 10;
var catalogModel = await _catalogService.GetCatalogItems(page ?? 0, itemsPage, brandFilterApplied, typesFilterApplied);
var catalogModel = await _catalogViewModelService.GetCatalogItems(page ?? 0, itemsPage, brandFilterApplied, typesFilterApplied);
return Ok(catalogModel);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

namespace Microsoft.eShopWeb.Web.Services
{
public interface ICatalogService
public interface ICatalogViewModelService
{
Task<CatalogIndexViewModel> GetCatalogItems(int pageIndex, int itemsPage, int? brandId, int? typeId);
Task<IEnumerable<SelectListItem>> GetBrands();
Expand Down
8 changes: 4 additions & 4 deletions src/Web/Pages/Index.cshtml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ namespace Microsoft.eShopWeb.Web.Pages
{
public class IndexModel : PageModel
{
private readonly ICatalogService _catalogService;
private readonly ICatalogViewModelService _catalogViewModelService;

public IndexModel(ICatalogService catalogService)
public IndexModel(ICatalogViewModelService catalogViewModelService)
{
_catalogService = catalogService;
_catalogViewModelService = catalogViewModelService;
}

public CatalogIndexViewModel CatalogModel { get; set; } = new CatalogIndexViewModel();

public async Task OnGet(CatalogIndexViewModel catalogModel, int? pageId)
{
CatalogModel = await _catalogService.GetCatalogItems(pageId ?? 0, Constants.ITEMS_PER_PAGE, catalogModel.BrandFilterApplied, catalogModel.TypesFilterApplied);
CatalogModel = await _catalogViewModelService.GetCatalogItems(pageId ?? 0, Constants.ITEMS_PER_PAGE, catalogModel.BrandFilterApplied, catalogModel.TypesFilterApplied);
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,28 @@

namespace Microsoft.eShopWeb.Web.Services
{
public class CachedCatalogService : ICatalogService
public class CachedCatalogViewModelService : ICatalogViewModelService
{
private readonly IMemoryCache _cache;
private readonly CatalogService _catalogService;
private readonly CatalogViewModelService _catalogViewModelService;
private static readonly string _brandsKey = "brands";
private static readonly string _typesKey = "types";
private static readonly string _itemsKeyTemplate = "items-{0}-{1}-{2}-{3}";
private static readonly TimeSpan _defaultCacheDuration = TimeSpan.FromSeconds(30);

public CachedCatalogService(IMemoryCache cache,
CatalogService catalogService)
public CachedCatalogViewModelService(IMemoryCache cache,
CatalogViewModelService catalogViewModelService)
{
_cache = cache;
_catalogService = catalogService;
_catalogViewModelService = catalogViewModelService;
}

public async Task<IEnumerable<SelectListItem>> GetBrands()
{
return await _cache.GetOrCreateAsync(_brandsKey, async entry =>
{
entry.SlidingExpiration = _defaultCacheDuration;
return await _catalogService.GetBrands();
return await _catalogViewModelService.GetBrands();
});
}

Expand All @@ -38,7 +38,7 @@ public async Task<CatalogIndexViewModel> GetCatalogItems(int pageIndex, int item
return await _cache.GetOrCreateAsync(cacheKey, async entry =>
{
entry.SlidingExpiration = _defaultCacheDuration;
return await _catalogService.GetCatalogItems(pageIndex, itemsPage, brandId, typeId);
return await _catalogViewModelService.GetCatalogItems(pageIndex, itemsPage, brandId, typeId);
});
}

Expand All @@ -47,7 +47,7 @@ public async Task<IEnumerable<SelectListItem>> GetTypes()
return await _cache.GetOrCreateAsync(_typesKey, async entry =>
{
entry.SlidingExpiration = _defaultCacheDuration;
return await _catalogService.GetTypes();
return await _catalogViewModelService.GetTypes();
});
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,22 @@ namespace Microsoft.eShopWeb.Web.Services
/// This is a UI-specific service so belongs in UI project. It does not contain any business logic and works
/// with UI-specific types (view models and SelectListItem types).
/// </summary>
public class CatalogService : ICatalogService
public class CatalogViewModelService : ICatalogViewModelService
{
private readonly ILogger<CatalogService> _logger;
private readonly ILogger<CatalogViewModelService> _logger;
private readonly IAsyncRepository<CatalogItem> _itemRepository;
private readonly IAsyncRepository<CatalogBrand> _brandRepository;
private readonly IAsyncRepository<CatalogType> _typeRepository;
private readonly IUriComposer _uriComposer;

public CatalogService(
public CatalogViewModelService(
ILoggerFactory loggerFactory,
IAsyncRepository<CatalogItem> itemRepository,
IAsyncRepository<CatalogBrand> brandRepository,
IAsyncRepository<CatalogType> typeRepository,
IUriComposer uriComposer)
{
_logger = loggerFactory.CreateLogger<CatalogService>();
_logger = loggerFactory.CreateLogger<CatalogViewModelService>();
_itemRepository = itemRepository;
_brandRepository = brandRepository;
_typeRepository = typeRepository;
Expand Down
4 changes: 2 additions & 2 deletions src/Web/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,12 @@ public void ConfigureServices(IServiceCollection services)

services.AddScoped(typeof(IAsyncRepository<>), typeof(EfRepository<>));

services.AddScoped<ICatalogService, CachedCatalogService>();
services.AddScoped<ICatalogViewModelService, CachedCatalogViewModelService>();
services.AddScoped<IBasketService, BasketService>();
services.AddScoped<IBasketViewModelService, BasketViewModelService>();
services.AddScoped<IOrderService, OrderService>();
services.AddScoped<IOrderRepository, OrderRepository>();
services.AddScoped<CatalogService>();
services.AddScoped<CatalogViewModelService>();
services.Configure<CatalogSettings>(Configuration);
services.AddSingleton<IUriComposer>(new UriComposer(Configuration.Get<CatalogSettings>()));

Expand Down

0 comments on commit 4ad595b

Please sign in to comment.