add debut skinManager avec les differents DTO

API2
bastien.ollier 2 years ago
parent 20717978fc
commit 4f9dced86f

@ -39,7 +39,7 @@ namespace apiLOL.Controllers
var page = new ChampionPageDTO
{
Data = (IEnumerable<ChampionDTO>)champs,
Data = (IEnumerable<SkinDTO>)champs,
Index = index,
Count = count,
TotalCount = nbChampions
@ -69,7 +69,7 @@ namespace apiLOL.Controllers
// POST api/<ControllerLol>
[HttpPost]
public async Task<IActionResult> Post(ChampionDTO champDTO)
public async Task<IActionResult> Post(SkinDTO champDTO)
{
_logger.LogInformation($"methode Post de ControllerChampions appelée avec le paramètre {champDTO.Name}");
@ -78,7 +78,7 @@ namespace apiLOL.Controllers
{
Champion tmp = champDTO.ToModel();
Champion champion = await data.ChampionsMgr.AddItem(tmp);
ChampionDTO dtoChamp = champion.ToDTO();
SkinDTO dtoChamp = champion.ToDTO();
return CreatedAtAction(nameof(GetChampion), new { name = dtoChamp.Name }, dtoChamp);
}
catch (Exception ex)

@ -0,0 +1,50 @@
using Microsoft.AspNetCore.Mvc;
using Model;
// 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]
[ApiVersion("1.0")]
public class ControllerSkins : ControllerBase
{
private readonly IDataManager data;
// EFdata manager qui implémente l'interface IDataManager
// coté client : Refaire un APIdata manager qui implémente l'interface IDataManager
private readonly ILogger _logger;
public ControllerSkins(IDataManager manager, ILogger<ControllerChampions> log)
{
data = manager;
_logger = log;
}
// GET api/<ControllerSkins>/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
// POST api/<ControllerSkins>
[HttpPost]
public void Post([FromBody] string value)
{
}
// PUT api/<ControllerSkins>/5
[HttpPut("{id}")]
public void Put(int id, [FromBody] string value)
{
}
// DELETE api/<ControllerSkins>/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
}

@ -1,9 +1,9 @@
namespace apiLOL.DTO
{
public class ChampionDTO
public class SkinDTO
{
public ChampionDTO(string name, string bio, string icon)
public SkinDTO(string name, string bio, string icon)
{
Name = name;
Bio = bio;

@ -4,10 +4,10 @@ namespace apiLOL.DTO
{
public static class ChampionMapper
{
public static ChampionDTO ToDTO(this Champion champion) => new ChampionDTO(champion.Name, champion.Bio, champion.Icon);
public static SkinDTO ToDTO(this Champion champion) => new SkinDTO(champion.Name, champion.Bio, champion.Icon);
public static Champion ToModel(this ChampionDTO championDTO)
public static Champion ToModel(this SkinDTO championDTO)
{
Champion champ = new Champion(championDTO.Name);
champ.Bio = championDTO.Bio;

@ -2,7 +2,7 @@
{
public class ChampionPageDTO
{
public IEnumerable<ChampionDTO> Data { get; set; }
public IEnumerable<SkinDTO> Data { get; set; }
public int Index { get; set; }

@ -0,0 +1,22 @@
using Model;
namespace apiLOL.DTO
{
public class SkinsDTO
{
public SkinsDTO(string name, Champion champion, float price = 0.0f, string icon = "", string image = "", string description = "")
{
Name = name;
Champ = champion;
Price = price;
Icon = icon;
Description = description;
}
public string Name { get; set; }
public Champion Champ { get; set; }
public float Price { get; }
public string Icon { get; }
public string Description { get; }
}
}

@ -0,0 +1,10 @@
using Model;
namespace apiLOL.DTO
{
public static class SkinsMapper
{
public static SkinsDTO ToDTO(this Skin skin) => new SkinsDTO(skin.Name, skin.Champion, skin.Price, skin.Icon, skin.Description);
public static Skin ToModel(this SkinsDTO skinDTO) => new Skin(skinDTO.Name, skinDTO.Champ, skinDTO.Price, skinDTO.Icon, "",skinDTO.Description);
}
}

@ -0,0 +1,13 @@
namespace apiLOL.DTO
{
public class SkinsPageDTO
{
public IEnumerable<SkinDTO> Data { get; set; }
public int Index { get; set; }
public int Count { get; set; }
public int TotalCount { get; set; }
}
}
Loading…
Cancel
Save