/// <summary> /// Depending by the paramethers, performs certain methods and return array of users /// </summary> /// <param name="role"></param> /// <param name="count"></param> /// <param name="filter"></param> /// <param name="statusCode"></param> /// <returns></returns> public UserListResponse[] GetUserList(string role, int?count, string filter, out Errors statusCode) { try { GetUserListRequest getUserListRequest = new GetUserListRequest { Count = count, Filter = filter }; statusCode = Errors.OK; if (role != null) { int roleId = (int)(GetUserListRequest.RoleId)Enum.Parse(typeof(GetUserListRequest.RoleId), role); if (count > 0 && count != null) { var result = _dbManager.GetUserList(roleId, (int)getUserListRequest.Count, getUserListRequest.Filter); return(result); } else { var result = _dbManager.GetUserListWithoutCount(roleId, getUserListRequest.Filter); return(result); } } if (count > 0 && count != null) { var result = _dbManager.GetUserListWithoutRole((int)getUserListRequest.Count, getUserListRequest.Filter); return(result); } else { var result = _dbManager.GetUserListByFilter(getUserListRequest.Filter); return(result); } } catch (Exception ex) { _logger.Error(ex.Message); statusCode = Errors.DATA_BASE_ERROR; return(null); } }