diff --git a/Sources/BowlingApi/Controllers/PartieController.cs b/Sources/BowlingApi/Controllers/PartieController.cs
index f8fbe59..e98711c 100644
--- a/Sources/BowlingApi/Controllers/PartieController.cs
+++ b/Sources/BowlingApi/Controllers/PartieController.cs
@@ -121,6 +121,43 @@ namespace BowlingApi.Controllers
throw;
}
+ }///
+ /// Get player with pagination
+ /// Get : api/Joueur?page=1&pageSize=10
+ ///
+ /// la liste des Joueurs
+ /// Retourne la liste des joueurs
+ /// Si la liste est vide
+ /// Si une erreur est survenue
+
+ [HttpGet("{page}/{pageSize}")]
+ [ProducesResponseType(typeof(string), StatusCodes.Status500InternalServerError)]
+ [ProducesResponseType(typeof(string), StatusCodes.Status404NotFound)]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ public async Task Get(int page = 1, int pageSize = 10)
+ {
+ try
+ {
+ var result = await _partieService.GetAll();
+ if (result == null)
+ {
+ return NotFound();
+ }
+ var data = result.Skip((page - 1) * pageSize).Take(pageSize);
+ Response.Headers.Add("X-Pagination", Newtonsoft.Json.JsonConvert.SerializeObject(new
+ {
+ totalCount = result.Count(),
+ pageSize = pageSize,
+ currentPage = page,
+ totalPages = (int)Math.Ceiling(result.Count() / (double)pageSize)
+ }));
+ return Ok(data);
+ }
+ catch (Exception e)
+ {
+ return StatusCode(StatusCodes.Status500InternalServerError, e.Message);
+ throw;
+ }
}
///
diff --git a/Sources/BowlingApi/bowling.db-shm b/Sources/BowlingApi/bowling.db-shm
new file mode 100644
index 0000000..fe9ac28
Binary files /dev/null and b/Sources/BowlingApi/bowling.db-shm differ
diff --git a/Sources/BowlingApi/bowling.db-wal b/Sources/BowlingApi/bowling.db-wal
new file mode 100644
index 0000000..e69de29