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> <configuration>
<appSettings> <appSettings>
<add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" /> <add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" />
<add key="DefaultPageSize" value="20"/>
</appSettings> </appSettings>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />

View File

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

View File

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

View File

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