using Api_lol.Factories; using DTO; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Model; namespace Api_lol.Controllers { [ApiController] [Route("/Skins")] public class Skins : Controller { private readonly IDataManager data; private readonly ILogger logger; public Skins(ILogger logger, IDataManager manager) { this.logger = logger; data = manager; } [HttpGet] public async Task Get() { var champs = (await data.SkinsMgr.GetItems(0, await data.ChampionsMgr.GetNbItems())).Select(Model => Model.ModelToDto()); return Ok(champs); } [HttpGet] [Route("{name}")] public async Task GetSkinsByName(string name) { Skin skin = (await data.SkinsMgr.GetItems(0, await data.ChampionsMgr.GetNbItems())).First(i => i.Name == name); if (skin == null) { return BadRequest(); } DtoSkins result = skin.ModelToDto(); return Ok(result); } [HttpGet] [Route("GetSkinsByChampionName/{name}")] public async Task GetSkinsByChampionName(string name) { 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)); if (skins == null) { return BadRequest(); } return Ok(skins); } } }