api : ajout d'un get avec pagination pour skin et champion

master
pasquizzat 2 years ago
parent f2120188b8
commit fb87b5b6a6

@ -62,6 +62,19 @@ namespace ApiDePaul.Controllers
return BadRequest();
}
[HttpGet("Page/{numpage}/{nbparpage}")]
public async Task<ActionResult<PageDto<ChampionDto>>> GetChampParPage(int numpage, int nbparpage)
{
PageDto<ChampionDto> page = new PageDto<ChampionDto>();
page.NumeroPage = numpage;
page.NombreObjetsParPage = nbparpage;
page.Objets = new List<ChampionDto>();
page.TotalObjets = donnees.ChampionsMgr.GetNbItems().Result;
IEnumerable<Champion?> 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<ActionResult> PostChampName(string nom)
@ -98,7 +111,7 @@ namespace ApiDePaul.Controllers
return BadRequest();
}
[HttpPut("Modifier/{nom}")]// CA C4EST PAS FINI
public async Task<ActionResult> 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<IActionResult> 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);
}
}*/
}
}

@ -41,5 +41,19 @@ namespace ApiDePaul.Controllers
}
return BadRequest();
}
[HttpGet("Page/{numpage}/{nbparpage}")]
public async Task<ActionResult<PageDto<SkinDto>>> GetSkinsParPage(int numpage, int nbparpage)
{
PageDto<SkinDto> page = new PageDto<SkinDto>();
page.NumeroPage = numpage;
page.NombreObjetsParPage = nbparpage;
page.Objets = new List<SkinDto>();
page.TotalObjets = donnees.SkinsMgr.GetNbItems().Result;
IEnumerable<Skin?> lcha = await donnees.SkinsMgr.GetItems(numpage,nbparpage);
lcha.ToList().ForEach(c => page.Objets.Add(c.SkinToDto()));
return Ok(page);
}
}
}

@ -0,0 +1,12 @@
using Model;
namespace ApiDePaul.DTO
{
public class PageDto<T>
{
public List<T> Objets { get; set; }
public int NumeroPage { get; set; }
public int NombreObjetsParPage { get; set; }
public int TotalObjets { get; set; }
}
}
Loading…
Cancel
Save