diff --git a/Sources/API_LoL/Controllers/ChampionsController.cs b/Sources/API_LoL/Controllers/ChampionsController.cs index 7752f0c..8ef8ca7 100644 --- a/Sources/API_LoL/Controllers/ChampionsController.cs +++ b/Sources/API_LoL/Controllers/ChampionsController.cs @@ -73,26 +73,41 @@ namespace API_LoL.Controllers } - [HttpGet("name/skills")] - public async Task GetSkillsByName(String name) + [HttpGet("name/skins")] + public async Task GetSkinsByName(String name) { if (string.IsNullOrEmpty(name)) return BadRequest(); var list = await ChampionsManager.GetItemsByName(name, 0, 1); if (list.Count() == 1) { var skins = await SkinsManager.GetItemsByChampion(list.First(), 0, await SkinsManager.GetNbItemsByChampion(list.First())); - if(skins.Count() != 0) + if (skins.Count() != 0) { return Ok(skins.Select(skin => skin?.ToDTO())); } else { return NoContent(); } } else { return NoContent(); } - } - // POST api/ - [HttpPost] + [HttpGet("name/largeImage")] + public async Task GetLargeImageByName(String name) + { + if (string.IsNullOrEmpty(name)) return BadRequest(); + var list = await ChampionsManager.GetItemsByName(name, 0, 1); + if (list.Count() == 1) + { + var skins = await SkinsManager.GetItemsByChampion(list.First(), 0, await SkinsManager.GetNbItemsByChampion(list.First())); + if (skins.Count() != 0) + { + return Ok(skins.Select(skin => skin?.ToDTO())); + } + else { return NoContent(); } + } + else { return NoContent(); } + + // POST api/ + [HttpPost] public async Task Post(ChampionDTO champion) { if (champion == null) diff --git a/Sources/API_LoL/Mapper/ChampionClassMapper.cs b/Sources/API_LoL/Mapper/ChampionClassMapper.cs new file mode 100644 index 0000000..638f500 --- /dev/null +++ b/Sources/API_LoL/Mapper/ChampionClassMapper.cs @@ -0,0 +1,34 @@ +using DTO; +using Model; + +namespace API_LoL.Mapper +{ + public static class ChampionClassMapper + { + public static string ToDTO(this ChampionClass championClass) + { + return championClass.ToString(); + } + + public static ChampionClass ToChampionClass(this String championClass) + { + switch (championClass) + { + case "Assassin": + return ChampionClass.Assassin; + case "Fighter": + return ChampionClass.Fighter; + case "Mage": + return ChampionClass.Mage; + case "Marksman": + return ChampionClass.Marksman; + case "Support": + return ChampionClass.Support; + case "Tank": + return ChampionClass.Tank; + default: + return ChampionClass.Unknown; + } + } + } +} diff --git a/Sources/API_LoL/Mapper/ChampionMapper.cs b/Sources/API_LoL/Mapper/ChampionMapper.cs index c2e8d0b..3dd6a11 100644 --- a/Sources/API_LoL/Mapper/ChampionMapper.cs +++ b/Sources/API_LoL/Mapper/ChampionMapper.cs @@ -1,4 +1,5 @@ -using Model; +using API_LoL.Mapper; +using Model; using System; using System.Collections.Generic; using System.Linq; @@ -11,13 +12,13 @@ namespace DTO.Mapper { public static ChampionDTO ToDTO(this Champion champion) { - return new ChampionDTO(champion.Name, champion.Bio, champion.Icon); + return new ChampionDTO(champion.Name, champion.Bio, champion.Icon,champion.Class.ToDTO().ToString()); //return new ChampionDTO(champion.Name, champion.Bio, champion.Icon, champion.Skills); } public static Champion ToChampion(this ChampionDTO champion) { - Champion champ = new Champion(champion.Name, ChampionClass.Unknown, champion.Icon, "", champion.Bio); + Champion champ = new Champion(champion.Name, champion.Class.ToChampionClass(), champion.Icon, "", champion.Bio); //foreach (Skill skill in champion.Skills) //{ diff --git a/Sources/DTO/ChampionClassDTO.cs b/Sources/DTO/ChampionClassDTO.cs new file mode 100644 index 0000000..c85525f --- /dev/null +++ b/Sources/DTO/ChampionClassDTO.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DTO +{ + public class ChampionClassDTO + { + public string Name; + public ChampionClassDTO(string name) { + this.Name = name; + } + } +} diff --git a/Sources/DTO/ChampionDTO.cs b/Sources/DTO/ChampionDTO.cs index 922d56e..723d7b4 100644 --- a/Sources/DTO/ChampionDTO.cs +++ b/Sources/DTO/ChampionDTO.cs @@ -5,26 +5,19 @@ namespace DTO { public class ChampionDTO { - public ChampionDTO(string name, string bio, string icon) + public ChampionDTO(string name, string bio, string icon, string championClassDTO) { Name = name; Bio = bio; Icon = icon; + Class = championClassDTO; } - - //public ChampionDTO(string name, string bio, string icon, ICollection skills) - //{ - // Name = name; - // Bio = bio; - // Icon = icon; - // Skills = skills; - //} - public string Name { get; set; } public string Bio { get; set; } - //public ChampionClass Class { get; set; } public string Icon { get; set; } + public string Class { get; set; } + public bool equals(ChampionDTO other) { return other.Name==this.Name && other.Bio==this.Bio && other.Icon==this.Icon;