Set the default page size to a config value - "DefaultPageSize", defaults to 10 if the config value is missing.

#37
This commit is contained in:
chris.watts90@outlook.com 2017-02-22 20:43:48 +00:00
parent 0713f41ebb
commit b8cd5792cf
4 changed files with 15 additions and 1 deletions

View File

@ -2,6 +2,7 @@
<configuration>
<appSettings>
<add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" />
<add key="DefaultPageSize" value="20"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />

View File

@ -1,4 +1,5 @@
using System;
using System.Configuration;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
@ -29,8 +30,9 @@ namespace WindowsDataCenter
public IHttpActionResult GetUsers([FromUri] string query = "",[FromUri] int pageSize = -1, [FromUri] int pageNumber =-1)
{
_logger.Trace("GetUsers called with arguments >> query: {0}, pageSize: {1}, pageNumber: {2}", query, pageSize, pageNumber);
pageNumber = pageNumber == -1 ? 1 : pageNumber;
pageSize = pageSize == -1 ? 1 : pageSize;
pageSize = GetPageSize(pageSize);
var userList = query == string.Empty ? _repo.GetUsers(pageNumber, pageSize) : _repo.Search(query);
_logger.Trace("Got UserList from Repository, UserCount: {0}", userList.UserCount);
if (query != string.Empty)
@ -50,6 +52,15 @@ namespace WindowsDataCenter
return ResponseMessage(msg);
}
private int GetPageSize(int pageSize)
{
var cfgPageSize = ConfigurationManager.AppSettings["DefaultPageSize"] ?? 10.ToString();
return pageSize == -1
? Convert.ToInt32(cfgPageSize)
: pageSize;
}
[HttpGet]
[Route("{id:int}")]
[CacheControl(MaxAge = 0)]

View File

@ -110,6 +110,7 @@
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.104.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>..\packages\System.Data.SQLite.Core.1.0.104.0\lib\net451\System.Data.SQLite.dll</HintPath>

View File

@ -2,6 +2,7 @@
<configuration>
<appSettings>
<add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" />
<add key="DefaultPageSize" value="20"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />