From 1298b019741e7f3a36616c13c3769a89db41db02 Mon Sep 17 00:00:00 2001 From: Niggl Date: Thu, 18 Jun 2020 15:27:40 +0200 Subject: [PATCH] Switched from IEnumerable to Queryable DBsets for filtering --- ScrumTaskboard/Controllers/CategoriesController.cs | 6 +++--- ScrumTaskboard/Controllers/ProjectsController.cs | 5 +++-- ScrumTaskboard/Controllers/SprintsController.cs | 5 +++-- ScrumTaskboard/Controllers/StatusController.cs | 5 +++-- ScrumTaskboard/Controllers/TasksController.cs | 11 ++++++----- ScrumTaskboard/Controllers/UsersController.cs | 4 ++-- ScrumTaskboard/Controllers/UserstoriesController.cs | 5 +++-- 7 files changed, 23 insertions(+), 18 deletions(-) diff --git a/ScrumTaskboard/Controllers/CategoriesController.cs b/ScrumTaskboard/Controllers/CategoriesController.cs index 7cffa97..109c22b 100644 --- a/ScrumTaskboard/Controllers/CategoriesController.cs +++ b/ScrumTaskboard/Controllers/CategoriesController.cs @@ -22,7 +22,8 @@ namespace ScrumTaskboard.Controllers [HttpGet] public async Task>> GetCategory() { - IEnumerable filtered = _context.Categories; + var filtered = _context.Categories.AsQueryable(); + if (HttpContext.Request.Query["title"].ToString() != "") { filtered = filtered.Where(c => c.title.Contains(HttpContext.Request.Query["title"].ToString())); @@ -37,8 +38,7 @@ namespace ScrumTaskboard.Controllers } - - return filtered.ToList(); + return await filtered.ToListAsync(); } // GET: api/category/1 diff --git a/ScrumTaskboard/Controllers/ProjectsController.cs b/ScrumTaskboard/Controllers/ProjectsController.cs index 3092647..8149449 100644 --- a/ScrumTaskboard/Controllers/ProjectsController.cs +++ b/ScrumTaskboard/Controllers/ProjectsController.cs @@ -22,7 +22,8 @@ namespace ScrumTaskboard.Controllers [HttpGet] public async Task>> GetProject() { - IEnumerable filtered = _context.Projects; + var filtered = _context.Projects.AsQueryable(); + if (HttpContext.Request.Query["title"].ToString() != "") { filtered = filtered.Where(t => t.title.Contains(HttpContext.Request.Query["title"].ToString())); @@ -32,7 +33,7 @@ namespace ScrumTaskboard.Controllers filtered = filtered.Where(t => t.isprivate == Convert.ToBoolean(HttpContext.Request.Query["isprivate"])); } - return filtered.ToList(); + return await filtered.ToListAsync(); } // GET: api/projects/5 diff --git a/ScrumTaskboard/Controllers/SprintsController.cs b/ScrumTaskboard/Controllers/SprintsController.cs index 45fe7af..2144fcf 100644 --- a/ScrumTaskboard/Controllers/SprintsController.cs +++ b/ScrumTaskboard/Controllers/SprintsController.cs @@ -22,7 +22,8 @@ namespace ScrumTaskboard.Controllers [HttpGet] public async Task>> GetSprint() { - IEnumerable filtered = _context.Sprints; + var filtered = _context.Sprints.AsQueryable(); + if (HttpContext.Request.Query["title"].ToString() != "") { filtered = filtered.Where(s => s.title.Contains(HttpContext.Request.Query["title"].ToString())); @@ -40,7 +41,7 @@ namespace ScrumTaskboard.Controllers filtered = filtered.Where(s => s.endDate == DateTime.Parse(HttpContext.Request.Query["startDate"].ToString())); } - return filtered.ToList(); + return await filtered.ToListAsync(); } // GET: api/sprint/5 diff --git a/ScrumTaskboard/Controllers/StatusController.cs b/ScrumTaskboard/Controllers/StatusController.cs index d695715..518e920 100644 --- a/ScrumTaskboard/Controllers/StatusController.cs +++ b/ScrumTaskboard/Controllers/StatusController.cs @@ -21,13 +21,14 @@ namespace ScrumTaskboard.Controllers [HttpGet] public async Task>> GetStatus() { - IEnumerable filtered = _context.Status; + var filtered = _context.Status.AsQueryable(); + if (HttpContext.Request.Query["title"].ToString() != "") { filtered = filtered.Where(s => s.title.Contains(HttpContext.Request.Query["title"].ToString())); } - return filtered.ToList(); + return await filtered.ToListAsync(); } // GET: api/status/1 diff --git a/ScrumTaskboard/Controllers/TasksController.cs b/ScrumTaskboard/Controllers/TasksController.cs index 9f54b97..5859d44 100644 --- a/ScrumTaskboard/Controllers/TasksController.cs +++ b/ScrumTaskboard/Controllers/TasksController.cs @@ -22,7 +22,8 @@ namespace ScrumTaskboard.Controllers [HttpGet] public async Task>> GetTasks() { - IEnumerable filtered = _context.Tasks; + var filtered = _context.Tasks.AsQueryable(); + if (HttpContext.Request.Query["title"].ToString() != "") { filtered = filtered.Where(t => t.title.Contains(HttpContext.Request.Query["title"].ToString())); @@ -52,10 +53,10 @@ namespace ScrumTaskboard.Controllers ScrumPrio priority; Enum.TryParse(HttpContext.Request.Query["priority"].ToString(), out priority); filtered = filtered.Where(t => t.priority == priority); - } - - - return filtered.ToList(); + } + + + return await filtered.ToListAsync(); } // GET: api/tasks/5 diff --git a/ScrumTaskboard/Controllers/UsersController.cs b/ScrumTaskboard/Controllers/UsersController.cs index 1194d08..a8d4b7c 100644 --- a/ScrumTaskboard/Controllers/UsersController.cs +++ b/ScrumTaskboard/Controllers/UsersController.cs @@ -21,13 +21,13 @@ namespace ScrumTaskboard.Controllers [HttpGet] public async Task>> GetUser() { - IEnumerable filtered = _context.Users; + var filtered = _context.Users.AsQueryable(); if (HttpContext.Request.Query["name"].ToString() != "") { filtered = filtered.Where(u => u.name.Contains(HttpContext.Request.Query["name"].ToString())); } - return filtered.ToList(); + return await filtered.ToListAsync(); } // GET: api/sprint/5 diff --git a/ScrumTaskboard/Controllers/UserstoriesController.cs b/ScrumTaskboard/Controllers/UserstoriesController.cs index 2537074..861b449 100644 --- a/ScrumTaskboard/Controllers/UserstoriesController.cs +++ b/ScrumTaskboard/Controllers/UserstoriesController.cs @@ -22,7 +22,8 @@ namespace ScrumTaskboard.Controllers [HttpGet] public async Task>> GetUserstory() { - IEnumerable filtered = _context.Userstories; + var filtered = _context.Userstories.AsQueryable(); + if (HttpContext.Request.Query["title"].ToString() != "") { filtered = filtered.Where(t => t.title.Contains(HttpContext.Request.Query["title"].ToString())); @@ -55,7 +56,7 @@ namespace ScrumTaskboard.Controllers } - return filtered.ToList(); + return await filtered.ToListAsync(); } // GET: api/userstories/1