|
|
|
@ -23,27 +23,67 @@ namespace WebApiLol.Controllers
|
|
|
|
|
_logger = logger;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet(Name = "GetSkin")]
|
|
|
|
|
public ActionResult<IEnumerable<SkinDTO>> Get()
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<IActionResult> Get()
|
|
|
|
|
{
|
|
|
|
|
return Ok(Enumerable.Range(1, 5).Select(index => new SkinDTO
|
|
|
|
|
{
|
|
|
|
|
Name = "Skin tah les fou",
|
|
|
|
|
Description ="Skin assez limité et sorti le 23/02/2022",
|
|
|
|
|
Icon = "je sais pas ce que c'est un icon",
|
|
|
|
|
Price = 25.0f
|
|
|
|
|
})
|
|
|
|
|
.ToArray());
|
|
|
|
|
var list = await SkinsManager.GetItems(0, await SkinsManager.GetNbItems());
|
|
|
|
|
return Ok(list.Select(skin => skin?.toDTO()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet("name")]
|
|
|
|
|
public async Task<IActionResult> GetById(string name)
|
|
|
|
|
{
|
|
|
|
|
var skinSelected = await SkinsManager.GetItemsByName(name, 0, await SkinsManager.GetNbItemsByName(name), null);
|
|
|
|
|
return Ok(skinSelected.Select(skin => skin?.toDTO()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
[HttpPost("addSkin")]
|
|
|
|
|
public async Task<IActionResult> AddSkin(SkinDTO skin)
|
|
|
|
|
{
|
|
|
|
|
var newSkin = skin.toModel();
|
|
|
|
|
await SkinsManager.AddItem(newSkin);
|
|
|
|
|
if (skin.Description == "string")
|
|
|
|
|
{
|
|
|
|
|
skin.Description = "Aucune bio";
|
|
|
|
|
}
|
|
|
|
|
Console.WriteLine("Skin { " + skin.Name + " } with description { " + skin.Description + " } has been succesfully added");
|
|
|
|
|
return Ok(newSkin);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPut("updateSkin")]
|
|
|
|
|
public async Task<IActionResult> UpdateChampion(string name, SkinDTO skin)
|
|
|
|
|
{
|
|
|
|
|
var skinSelected = await SkinsManager.GetItemsByName(name, 0, await SkinsManager.GetNbItemsByName(name), null);
|
|
|
|
|
var existingSkin = skinSelected.FirstOrDefault();
|
|
|
|
|
if (existingSkin == null)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("Le skin { " + name + " } doesn't exist !");
|
|
|
|
|
return NotFound();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var updatedSkin = skin.toModel();
|
|
|
|
|
await SkinsManager.UpdateItem(existingSkin, updatedSkin);
|
|
|
|
|
if (skin.Description == "string")
|
|
|
|
|
{
|
|
|
|
|
skin.Description = "Aucune bio";
|
|
|
|
|
}
|
|
|
|
|
Console.WriteLine("Skin { " + name + " } modified in " + " { " + updatedSkin.Name + " } with description { " + updatedSkin.Description + " }<");
|
|
|
|
|
return Ok();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpDelete("deleteSkin")]
|
|
|
|
|
public async Task<IActionResult> DeleteChampion(string name)
|
|
|
|
|
{
|
|
|
|
|
var skinSelected = await SkinsManager.GetItemsByName(name, 0, await SkinsManager.GetNbItemsByName(name), null);
|
|
|
|
|
if (!await SkinsManager.DeleteItem(skinSelected.FirstOrDefault()))
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("skin { " + name + " } not found !");
|
|
|
|
|
return NotFound();
|
|
|
|
|
}
|
|
|
|
|
Console.WriteLine("skin { " + name + " } deleted");
|
|
|
|
|
return Ok();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|