From ceada079b5d3a75afbaaece3de467b3f120f63df Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Mon, 26 Feb 2018 10:13:03 -0600 Subject: [PATCH] FilterParentListFromMaintainerAdditionalLists() --- .../FilterListService/FilterListService.cs | 3 ++- .../FilterListServiceExtensions.cs | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/FilterLists.Services/FilterListService/FilterListServiceExtensions.cs diff --git a/src/FilterLists.Services/FilterListService/FilterListService.cs b/src/FilterLists.Services/FilterListService/FilterListService.cs index 0658a9000..2956ec16a 100644 --- a/src/FilterLists.Services/FilterListService/FilterListService.cs +++ b/src/FilterLists.Services/FilterListService/FilterListService.cs @@ -30,7 +30,8 @@ public async Task GetDetailsAsync(int id) return await filterListsDbContext.FilterLists .AsNoTracking() .ProjectTo() - .FirstAsync(x => x.Id == id); + .FirstAsync(x => x.Id == id) + .FilterParentListFromMaintainerAdditionalLists(); } } } \ No newline at end of file diff --git a/src/FilterLists.Services/FilterListService/FilterListServiceExtensions.cs b/src/FilterLists.Services/FilterListService/FilterListServiceExtensions.cs new file mode 100644 index 000000000..b71ca658d --- /dev/null +++ b/src/FilterLists.Services/FilterListService/FilterListServiceExtensions.cs @@ -0,0 +1,19 @@ +using System.Linq; +using System.Threading.Tasks; + +namespace FilterLists.Services.FilterListService +{ + public static class FilterListServiceExtensions + { + public static async Task FilterParentListFromMaintainerAdditionalLists( + this Task listDetailsDtos) + { + foreach (var maintainer in listDetailsDtos.Result.Maintainers) + maintainer.AdditionalLists = maintainer.AdditionalLists + .Where(additionalList => + additionalList.Id != listDetailsDtos.Result.Id) + .ToList(); + return await listDetailsDtos; + } + } +} \ No newline at end of file