diff --git a/Sources/Api-lol/Controllers/Skins.cs b/Sources/Api-lol/Controllers/Skins.cs index 650364f..0d1d7cb 100644 --- a/Sources/Api-lol/Controllers/Skins.cs +++ b/Sources/Api-lol/Controllers/Skins.cs @@ -3,6 +3,7 @@ using DTO; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Model; +using System.Xml.Linq; namespace Api_lol.Controllers { @@ -47,15 +48,27 @@ namespace Api_lol.Controllers { Champion champ = (await data.ChampionsMgr.GetItems(0, await data.ChampionsMgr.GetNbItems())).First(i => i.Name == name); List skinsModele = new List(champ.Skins); - List skinsD = new - - - List skins = new List((List)champ.Skins.Select(Model => Model.ModelToDto)); + List skins = new List(skinsModele.Select(Model=> Model.ModelToDto())); if (skins == null) { return BadRequest(); } return Ok(skins); } + + + [HttpPost] + [Route("AddSkinByChampion/{skin}/For/{nameChampion}")] + public async Task Post(DtoSkins skin,string nameChampion) + { + Champion champion = (await data.ChampionsMgr.GetItems(0, await data.ChampionsMgr.GetNbItems())).First(i => i.Name == nameChampion); + if (champion == null) + { + return BadRequest("Le champion n'existe pas !"); + } + Skin skinModele = skin.DtoToModel(champion); + await data.SkinsMgr.AddItem(skinModele); + return Ok(); + } } } diff --git a/Sources/Api-lol/Factories/FactoSkins.cs b/Sources/Api-lol/Factories/FactoSkins.cs index d872813..6b592bc 100644 --- a/Sources/Api-lol/Factories/FactoSkins.cs +++ b/Sources/Api-lol/Factories/FactoSkins.cs @@ -9,5 +9,10 @@ namespace Api_lol.Factories { return new DtoSkins(skin.Name); } + + public static Skin DtoToModel(this DtoSkins skinDto,Champion champ) + { + return new Skin(skinDto.name, champ); + } } }