Adding ChampionClass to ChampionDTO
continuous-integration/drone/push Build is failing Details

pull/19/head
Corentin R 2 years ago
parent e6b686772f
commit f4b77f66e7

@ -73,26 +73,41 @@ namespace API_LoL.Controllers
}
[HttpGet("name/skills")]
public async Task<IActionResult> GetSkillsByName(String name)
[HttpGet("name/skins")]
public async Task<IActionResult> 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/<ChampionController>
[HttpPost]
[HttpGet("name/largeImage")]
public async Task<IActionResult> 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/<ChampionController>
[HttpPost]
public async Task<IActionResult> Post(ChampionDTO champion)
{
if (champion == null)

@ -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;
}
}
}
}

@ -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)
//{

@ -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;
}
}
}

@ -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<Skill> 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;

Loading…
Cancel
Save