refactorinf & max result per page

This commit is contained in:
2018-08-01 10:55:52 +02:00
parent 02645a0a9a
commit 27dfd14989
12 changed files with 224 additions and 103 deletions

View File

@ -20,6 +20,7 @@ using Newtonsoft.Json;
namespace Yavsc.Controllers
{
using System.Text;
using Yavsc.Abstract.Manage;
using Yavsc.Helpers;
@ -60,10 +61,28 @@ namespace Yavsc.Controllers
_dbContext = dbContext;
}
const string nextPageTokenKey = "nextPageTokenKey";
const int defaultLen = 10;
[Authorize(Roles = Constants.AdminGroupName)]
public async Task<IActionResult> UserList()
[Route("Account/UserList/{page?}/{len?}")]
public async Task<IActionResult> UserList(string page, string len)
{
return View(await _dbContext.Users.ToArrayAsync());
int pageNum = page!=null ? int.Parse(page) : 0;
int pageLen = len!=null ? int.Parse(len) : defaultLen;
var users = _dbContext.Users.OrderBy(u=>u.UserName);
var shown = pageNum * pageLen;
var toShow = users.Skip(shown).Take(pageLen);
ViewBag.page = pageNum;
ViewBag.hasNext = await users.CountAsync() > (toShow.Count() + shown);
ViewBag.nextpage = pageNum+1;
ViewBag.pageLen = pageLen;
return View(toShow.ToArray());
}
string GeneratePageToken() {
return System.Guid.NewGuid().ToString();
}
[AllowAnonymous]

View File

@ -453,6 +453,7 @@
<data name="PasswordRequiresUpper"><value>Les mots de passe doivent contenir au moins une lettre majuscule ('A' à 'Z').</value></data>
<data name="PassAndConfirmDontMach"><value>Le mot de passe et sa confirmation ne sont pas les mêmes.</value></data>
<data name="PasswordConfirm"><value>Confirmation du mot de passe</value></data>
<data name="ConfirmPassword"><value>Confirmation du mot de passe</value></data>
<data name="ErrorSendingEmailForConfirm"><value>L'envoi de de courrier pour confirmation de l'adresse e-mail a échoué.</value></data>
<data name="EmailSentForConfirm"><value>Un courrier a été envoyé pour confirmation de l'adresse e-mail .</value></data>
<data name="ConfirmYourAccountTitle"><value>S'il vous plait, confirmez votre addresse e-mail</value></data>

View File

@ -15,28 +15,28 @@
<hr />
<div asp-validation-summary="ValidationSummary.All" class="text-danger"></div>
<div class="form-group">
<label asp-for="UserName" class="col-md-2 control-label"></label>
<label asp-for="UserName" class="col-md-2 control-label">@SR["UserName"]</label>
<div class="col-md-10">
<input asp-for="UserName" class="form-control" placeholder="Votre nom"/>
<span asp-validation-for="UserName" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Email" class="col-md-2 control-label"></label>
<label asp-for="Email" class="col-md-2 control-label">@SR["Email"]</label>
<div class="col-md-10">
<input asp-for="Email" class="form-control" placeholder="votre@@email" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Password" class="col-md-2 control-label"></label>
<label asp-for="Password" class="col-md-2 control-label">@SR["Password"]</label>
<div class="col-md-10">
<input asp-for="Password" class="form-control" />
<span asp-validation-for="Password" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="ConfirmPassword" class="col-md-2 control-label"></label>
<label asp-for="ConfirmPassword" class="col-md-2 control-label">@SR["ConfirmPassword"]</label>
<div class="col-md-10">
<input asp-for="ConfirmPassword" class="form-control" />
<span asp-validation-for="ConfirmPassword" class="text-danger"></span>

View File

@ -4,5 +4,61 @@
}
<h2>@ViewData["Title"].</h2>
<table>
<thead>
<th>
@SR["Public info"]
</th>
<th>
@SR["AdminOnly"]
</th>
</thead>
@foreach (var user in Model)
{
<tr>
<td>
@Html.DisplayFor(m=>user)
</td>
<td>
<dl>
<dt>
UserName
</dt>
<dd>
@Html.DisplayFor(m=>user.UserName)
</dd>
</dl>
<dl>
<dt>
FullName
</dt>
<dd>
@Html.DisplayFor(m=>user.FullName)
</dd>
</dl>
<dl>
<dt>
@SR["PostalAddress"]
</dt>
<dd>
@Html.DisplayFor(m=>user.PostalAddress)
</dd>
</dl>
<dl>
<dt>
Email
</dt>
<dd>
@Html.DisplayFor(m=>user.Email)
</dd>
</dl>
</td>
</tr>
}
</table>
@Html.DisplayFor(m=>m)
@if (ViewBag.hasNext)
{
<a asp-route-page="@ViewBag.nextpage" asp-route-len="@ViewBag.pageLen">Next page</a>
}

View File

@ -0,0 +1,3 @@
namespace Yavsc.contrib
{
omg, daB4C0|)3DA!!!