using APILOL.Mapper; using DTO; using Microsoft.AspNetCore.Mvc; using Model; using StubLib; // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 namespace APILOL.Controllers { [Route("api/[controller]")] [ApiController] public class ChampionsController : ControllerBase { IChampionsManager dataManager = new StubData().ChampionsMgr; // GET: api/ [HttpGet] public async Task Get() { var champions = await dataManager.GetItems(0, await dataManager.GetNbItems()); IEnumerable items = champions.Select(c => c.ToDto()); return Ok(items); } // GET api//5 [HttpGet("{name}")] public async Task Get(string name) { if (dataManager.GetNbItemsByName(name) != null) { return Ok(dataManager.GetItemsByName(name, 0, await dataManager.GetNbItems())); } return NotFound(); } // POST api/ [HttpPost] public async Task Post([FromBody] ChampionDTO championDTO) { return CreatedAtAction(nameof(Get),(await dataManager.AddItem(championDTO.ToModel())).ToDto); } // PUT api//5 [HttpPut("{name}")] public void Put(string name, [FromBody] ChampionDTO championDTO) { } // DELETE api//5 [HttpDelete("{name}")] public void Delete(string name) { } } } /* var champion = new Champion(""); var dto = ChampionMapper.ToDto(champion); */