From eb239d0458ba692b051529c2ac5972f36abd8bef Mon Sep 17 00:00:00 2001 From: "chris.watts90@outlook.com" Date: Fri, 17 Mar 2017 23:53:02 +0000 Subject: [PATCH] add code in to handle group filtering. if a groupId is present, then get the user list by the group Id. #64 --- .../Controllers/UsersController.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs index b1cffd2..763ffe6 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/UsersController.cs @@ -27,13 +27,20 @@ namespace WindowsDataCenter [HttpGet] [Route("")] [CacheControl(MaxAge = 0)] - public IHttpActionResult GetUsers([FromUri] string query = "",[FromUri] int pageSize = -1, [FromUri] int pageNumber =-1) + public IHttpActionResult GetUsers([FromUri] string query = "" + , [FromUri] int pageSize = -1 + , [FromUri] int pageNumber = -1 + , [FromUri] int groupId = -1) { - _logger.Trace("GetUsers called with arguments >> query: {0}, pageSize: {1}, pageNumber: {2}", query, pageSize, pageNumber); + _logger.Trace("GetUsers called with arguments >> query: {0}, pageSize: {1}, pageNumber: {2}, groupFilter: {3}", query, pageSize, pageNumber, groupId); pageNumber = pageNumber == -1 ? 1 : pageNumber; pageSize = GetPageSize(pageSize); - var userList = query == string.Empty ? _repo.GetUsers(pageNumber, pageSize) : _repo.Search(query); + var userList = query != string.Empty + ? _repo.Search(query) + : groupId != -1 + ? _repo.GetUsers(groupId: groupId) + : _repo.GetUsers(pageNumber, pageSize); _logger.Trace("Got UserList from Repository, UserCount: {0}", userList.UserCount); if (query != string.Empty) { @@ -43,6 +50,10 @@ namespace WindowsDataCenter } else userList.Query = null; + if (groupId != -1) + { + userList.GroupFilter = _repo.GetGroup(groupId); + } userList.PageNumber = pageNumber; userList.PageSize = pageSize;