From b9cb2c4e7ef32d69b5ac4390bd21314c86b8f1fa Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Thu, 27 Sep 2018 20:13:16 -0500 Subject: [PATCH] filter licenses by implemented --- .../V1/Controllers/LicensesController.cs | 4 ++-- .../License/LicenseService.cs | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/FilterLists.Api/V1/Controllers/LicensesController.cs b/src/FilterLists.Api/V1/Controllers/LicensesController.cs index eeafc8a79..c8c1a0e7a 100644 --- a/src/FilterLists.Api/V1/Controllers/LicensesController.cs +++ b/src/FilterLists.Api/V1/Controllers/LicensesController.cs @@ -18,12 +18,12 @@ public LicensesController(IMemoryCache memoryCache, SeedService seedService, Lic [HttpGet] public async Task GetAll() => - await Get(() => licenseService.GetAllAsync()); + await Get(() => licenseService.GetAllImplementedAsync()); [HttpGet] [Route("{id}")] public async Task GetById(int id) => - await Get(() => licenseService.GetByIdAsync(id), id); + await Get(() => licenseService.GetImplementedByIdAsync(id), id); [HttpGet("seed")] public async Task Seed() => diff --git a/src/FilterLists.Services/License/LicenseService.cs b/src/FilterLists.Services/License/LicenseService.cs index 5d1cff688..8b9317248 100644 --- a/src/FilterLists.Services/License/LicenseService.cs +++ b/src/FilterLists.Services/License/LicenseService.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using AutoMapper; using AutoMapper.QueryableExtensions; @@ -17,14 +18,15 @@ public LicenseService(FilterListsDbContext dbContext, IConfigurationProvider map { } - public async Task> GetAllAsync() => - await DbContext.Licenses - .ProjectTo(MapConfig) - .ToListAsync(); + private IQueryable ImplementedLicenses => + DbContext.Licenses.Where(l => l.FilterLists.Any()); - public async Task GetByIdAsync(int id) => - await DbContext.Licenses - .ProjectTo(MapConfig) - .FirstOrDefaultAsync(l => l.Id == id); + public async Task> GetAllImplementedAsync() => + await ImplementedLicenses.ProjectTo(MapConfig) + .ToListAsync(); + + public async Task GetImplementedByIdAsync(int id) => + await ImplementedLicenses.ProjectTo(MapConfig) + .FirstOrDefaultAsync(l => l.Id == id); } } \ No newline at end of file