diff --git a/README.md b/README.md
index a311382..be92e93 100644
--- a/README.md
+++ b/README.md
@@ -115,6 +115,23 @@ String scroll_param_value = users.scroll_param;
Users users = usersClient.Scroll(scroll_param_value);
```
+**List users with Pagination using Pages**
+```cs
+Pages page = new Pages()
+{
+ page = 1,
+ per_page = 10,
+}
+Users users = usersClient.Next(page);
+```
+
+**List users with Pagination**
+```cs
+Users users = usersClient.Next();
+
+Users users = usersClient.Next(1, 50, OrderBy.Desc, UserSortBy.created_at);
+```
+
**Delete a user**
```cs
usersClient.Archive("100300231"); // with intercom generated user's id
diff --git a/src/Intercom.Tests.Integration/Intercom.Tests.Integration.csproj b/src/Intercom.Tests.Integration/Intercom.Tests.Integration.csproj
index e602a30..cb26e70 100644
--- a/src/Intercom.Tests.Integration/Intercom.Tests.Integration.csproj
+++ b/src/Intercom.Tests.Integration/Intercom.Tests.Integration.csproj
@@ -2,7 +2,7 @@
netcoreapp2.0
- 2.0.0
+ 2.1.1
diff --git a/src/Intercom.Tests/Clients/UserClientTest.cs b/src/Intercom.Tests/Clients/UserClientTest.cs
index a0e2083..1121a44 100755
--- a/src/Intercom.Tests/Clients/UserClientTest.cs
+++ b/src/Intercom.Tests/Clients/UserClientTest.cs
@@ -19,7 +19,7 @@ public class UserClientTest : TestBase
public UserClientTest()
{
- this.usersClient = new UsersClient(new Authentication(AppId, AppKey));
+ usersClient = new UsersClient(new Authentication(AppId, AppKey));
}
[Test()]
diff --git a/src/Intercom.Tests/Intercom.Tests.csproj b/src/Intercom.Tests/Intercom.Tests.csproj
index 1db607a..39a5e77 100644
--- a/src/Intercom.Tests/Intercom.Tests.csproj
+++ b/src/Intercom.Tests/Intercom.Tests.csproj
@@ -2,7 +2,7 @@
netcoreapp2.0
- 2.0.0
+ 2.1.1
diff --git a/src/Intercom/Clients/UsersClient.cs b/src/Intercom/Clients/UsersClient.cs
index 6938a8f..81335a1 100644
--- a/src/Intercom/Clients/UsersClient.cs
+++ b/src/Intercom/Clients/UsersClient.cs
@@ -15,7 +15,6 @@ namespace Intercom.Clients
{
public class UsersClient : Client
{
- // TODO: Implement paging
private static class UserSortBy
{
public const String created_at = "created_at";
@@ -166,21 +165,38 @@ public Users List()
public Users List(Dictionary parameters)
{
- ClientResponse result = null;
- result = Get(parameters: parameters);
- return result.Result;
+ return ListUsersFromParams(parameters);
}
- // TODO: Implement paging (by Pages argument)
- private Users Next(Pages pages)
+ public Users Next(Pages pages)
{
- return null;
+ Dictionary parameters = new Dictionary();
+
+ parameters.Add("page", pages.page.ToString());
+ parameters.Add("per_page", pages.per_page.ToString());
+ parameters.Add("order", OrderBy.Desc.ToString());
+ parameters.Add("sort", UserSortBy.created_at.ToString());
+
+ return ListUsersFromParams(parameters);
}
- // TODO: Implement paging
- private Users Next(int page = 1, int perPage = 50, OrderBy orderBy = OrderBy.Dsc, String sortBy = UserSortBy.created_at)
+ public Users Next(int page = 1, int perPage = 50, OrderBy orderBy = OrderBy.Desc, String sortBy = UserSortBy.created_at)
{
- return null;
+ Dictionary parameters = new Dictionary();
+
+ parameters.Add("page", page.ToString());
+ parameters.Add("per_page", perPage.ToString());
+ parameters.Add("order", orderBy.ToString().ToLower());
+ parameters.Add("sort", sortBy.ToString());
+
+ return ListUsersFromParams(parameters);
+ }
+
+ private Users ListUsersFromParams(Dictionary parameters)
+ {
+ ClientResponse result = null;
+ result = Get(parameters: parameters);
+ return result.Result;
}
public Users Scroll(String scrollParam = null)
diff --git a/src/Intercom/Enums/OrderBy.cs b/src/Intercom/Enums/OrderBy.cs
index 86ee477..9873040 100644
--- a/src/Intercom/Enums/OrderBy.cs
+++ b/src/Intercom/Enums/OrderBy.cs
@@ -9,6 +9,6 @@ namespace Intercom.Core
public enum OrderBy
{
Asc,
- Dsc
+ Desc
}
}
\ No newline at end of file
diff --git a/src/Intercom/Intercom.csproj b/src/Intercom/Intercom.csproj
index af547b0..d5d9325 100644
--- a/src/Intercom/Intercom.csproj
+++ b/src/Intercom/Intercom.csproj
@@ -2,7 +2,7 @@
netstandard2.0
- 2.0.0
+ 2.1.1
Intercom.Dotnet.Client
https://raw.githubusercontent.com/intercom/intercom-dotnet/master/src/assets/Intercom.png
Intercom
diff --git a/src/Intercom/intercom.nuspec b/src/Intercom/intercom.nuspec
index 7538728..b9cb513 100644
--- a/src/Intercom/intercom.nuspec
+++ b/src/Intercom/intercom.nuspec
@@ -3,7 +3,7 @@
Intercom.Dotnet.Client
Intercom Dotnet Client
- 2.0.0
+ 2.1.1
Intercom
Intercom
false