From fb87b5b6a61b7b5210e9ba6b382bc2146228b8c9 Mon Sep 17 00:00:00 2001 From: pasquizzat Date: Wed, 22 Feb 2023 18:31:55 +0100 Subject: [PATCH] api : ajout d'un get avec pagination pour skin et champion --- .../Controllers/ChampionController.cs | 20 ++++++++++++++++--- .../ApiDePaul/Controllers/SkinController.cs | 14 +++++++++++++ Sources/ApiDePaul/DTO/PageDto.cs | 12 +++++++++++ 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 Sources/ApiDePaul/DTO/PageDto.cs diff --git a/Sources/ApiDePaul/Controllers/ChampionController.cs b/Sources/ApiDePaul/Controllers/ChampionController.cs index 6db0cf4..4badef9 100644 --- a/Sources/ApiDePaul/Controllers/ChampionController.cs +++ b/Sources/ApiDePaul/Controllers/ChampionController.cs @@ -62,6 +62,19 @@ namespace ApiDePaul.Controllers return BadRequest(); } + [HttpGet("Page/{numpage}/{nbparpage}")] + public async Task>> GetChampParPage(int numpage, int nbparpage) + { + PageDto page = new PageDto(); + page.NumeroPage = numpage; + page.NombreObjetsParPage = nbparpage; + page.Objets = new List(); + page.TotalObjets = donnees.ChampionsMgr.GetNbItems().Result; + IEnumerable lcha = await donnees.ChampionsMgr.GetItems(numpage,nbparpage); + lcha.ToList().ForEach(c => page.Objets.Add(c.ChampToDto())); + return Ok(page); + } + [HttpPost("Ajouter/{nom}")] public async Task PostChampName(string nom) @@ -98,7 +111,7 @@ namespace ApiDePaul.Controllers return BadRequest(); } - + [HttpPut("Modifier/{nom}")]// CA C4EST PAS FINI public async Task PutChampName(string nom) { @@ -108,7 +121,7 @@ namespace ApiDePaul.Controllers return CreatedAtAction(nameof(GetChampId), new { id = donnees.ChampionsMgr.GetNbItems().Result - 1 }, ca.ChampToDto()); } - + /* [HttpPut("Modifier")] public async Task PutChamp([FromBody] ChampionDto c, [FromBody] ChampionDto cNouv) { @@ -116,6 +129,7 @@ namespace ApiDePaul.Controllers Champion caNouv = cNouv.DtoToChamp(); await donnees.ChampionsMgr.UpdateItem(ca,caNouv); return CreatedAtAction(nameof(GetChampId), new { id = donnees.ChampionsMgr.GetItems(0,donnees.ChampionsMgr.GetNbItems().Result).Result.ToList().IndexOf(ca) }, ca); - } + }*/ + } } diff --git a/Sources/ApiDePaul/Controllers/SkinController.cs b/Sources/ApiDePaul/Controllers/SkinController.cs index 2517ef4..8247d7e 100644 --- a/Sources/ApiDePaul/Controllers/SkinController.cs +++ b/Sources/ApiDePaul/Controllers/SkinController.cs @@ -41,5 +41,19 @@ namespace ApiDePaul.Controllers } return BadRequest(); } + + + [HttpGet("Page/{numpage}/{nbparpage}")] + public async Task>> GetSkinsParPage(int numpage, int nbparpage) + { + PageDto page = new PageDto(); + page.NumeroPage = numpage; + page.NombreObjetsParPage = nbparpage; + page.Objets = new List(); + page.TotalObjets = donnees.SkinsMgr.GetNbItems().Result; + IEnumerable lcha = await donnees.SkinsMgr.GetItems(numpage,nbparpage); + lcha.ToList().ForEach(c => page.Objets.Add(c.SkinToDto())); + return Ok(page); + } } } diff --git a/Sources/ApiDePaul/DTO/PageDto.cs b/Sources/ApiDePaul/DTO/PageDto.cs new file mode 100644 index 0000000..bce02d8 --- /dev/null +++ b/Sources/ApiDePaul/DTO/PageDto.cs @@ -0,0 +1,12 @@ +using Model; + +namespace ApiDePaul.DTO +{ + public class PageDto + { + public List Objets { get; set; } + public int NumeroPage { get; set; } + public int NombreObjetsParPage { get; set; } + public int TotalObjets { get; set; } + } +}