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;