diff --git a/PokemonSleep.Web/Controllers/PokemonController.cs b/PokemonSleep.Web/Controllers/PokemonController.cs index 25f8414..6c384e2 100644 --- a/PokemonSleep.Web/Controllers/PokemonController.cs +++ b/PokemonSleep.Web/Controllers/PokemonController.cs @@ -9,20 +9,29 @@ namespace PokemonSleep.Web.Controllers { private readonly IPokemonService _pokemonService; - public PokemonController(IPokemonService pokemonService) + private readonly IPokemonNatureService _natureService; + private readonly IPokemonSubskillService _subskillService; + public PokemonController(IPokemonService pokemonService, IPokemonNatureService natureService, IPokemonSubskillService subskillService) { _pokemonService = pokemonService; + _natureService = natureService; + _subskillService = subskillService; } public async Task PokemonIndex() { - List? list = new(); + PokemonSleepDto? list = new(); - ResponseDto? response = await _pokemonService.GetAllPokemonAsync(); + ResponseDto? presponse = await _pokemonService.GetAllPokemonAsync(); + ResponseDto? nresponse = await _natureService.GetAllPokemonNaturesAsync(); + ResponseDto? sresponse = await _subskillService.GetAllPokemonSubskillsAsync(); - if (response != null && response.IsSuccess) + if (presponse != null && presponse.IsSuccess) { - list = JsonConvert.DeserializeObject>(Convert.ToString(response.Result)); + list.pokemonList = JsonConvert.DeserializeObject>(Convert.ToString(presponse.Result)); + list.natureList = JsonConvert.DeserializeObject>(Convert.ToString(nresponse.Result)); + list.subskillList = JsonConvert.DeserializeObject>(Convert.ToString(sresponse.Result)); } + return View(list); } diff --git a/PokemonSleep.Web/Models/PokemonSleepDto.cs b/PokemonSleep.Web/Models/PokemonSleepDto.cs new file mode 100644 index 0000000..cbb8456 --- /dev/null +++ b/PokemonSleep.Web/Models/PokemonSleepDto.cs @@ -0,0 +1,9 @@ +namespace PokemonSleep.Web.Models +{ + public class PokemonSleepDto + { + public List? pokemonList { get; set; } + public List? natureList { get; set; } + public List? subskillList { get; set; } + } +} diff --git a/PokemonSleep.Web/Program.cs b/PokemonSleep.Web/Program.cs index d0dfa20..b034c3a 100644 --- a/PokemonSleep.Web/Program.cs +++ b/PokemonSleep.Web/Program.cs @@ -17,6 +17,8 @@ StaticDetails.PokemonSleepAPIBase = builder.Configuration["ServiceUrls:PokemonSl builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); var app = builder.Build(); diff --git a/PokemonSleep.Web/Service/IService/IPokemonNatureService.cs b/PokemonSleep.Web/Service/IService/IPokemonNatureService.cs new file mode 100644 index 0000000..a292d06 --- /dev/null +++ b/PokemonSleep.Web/Service/IService/IPokemonNatureService.cs @@ -0,0 +1,10 @@ +using PokemonSleep.Web.Models; + +namespace PokemonSleep.Web.Service.IService +{ + public interface IPokemonNatureService + { + Task GetAllPokemonNaturesAsync(); + + } +} diff --git a/PokemonSleep.Web/Service/IService/IPokemonSubskillService.cs b/PokemonSleep.Web/Service/IService/IPokemonSubskillService.cs new file mode 100644 index 0000000..1689fd9 --- /dev/null +++ b/PokemonSleep.Web/Service/IService/IPokemonSubskillService.cs @@ -0,0 +1,10 @@ +using PokemonSleep.Web.Models; + +namespace PokemonSleep.Web.Service.IService +{ + public interface IPokemonSubskillService + { + Task GetAllPokemonSubskillsAsync(); + + } +} diff --git a/PokemonSleep.Web/Service/PokemonNatureService.cs b/PokemonSleep.Web/Service/PokemonNatureService.cs new file mode 100644 index 0000000..6dd82aa --- /dev/null +++ b/PokemonSleep.Web/Service/PokemonNatureService.cs @@ -0,0 +1,24 @@ +using PokemonSleep.Web.Models; +using PokemonSleep.Web.Service.IService; +using PokemonSleep.Web.Utility; + +namespace PokemonSleep.Web.Service +{ + public class PokemonNatureService : IPokemonNatureService + { + private readonly IBaseService _baseService; + public PokemonNatureService(IBaseService baseService) + { + _baseService = baseService; + } + + public async Task GetAllPokemonNaturesAsync() + { + return await _baseService.SendAsync(new RequestDto() + { + ApiType = StaticDetails.ApiType.GET, + Url = StaticDetails.PokemonSleepAPIBase + "/api/nature" + }); + } + } +} diff --git a/PokemonSleep.Web/Service/PokemonSubskillService.cs b/PokemonSleep.Web/Service/PokemonSubskillService.cs new file mode 100644 index 0000000..edb8dff --- /dev/null +++ b/PokemonSleep.Web/Service/PokemonSubskillService.cs @@ -0,0 +1,24 @@ +using PokemonSleep.Web.Models; +using PokemonSleep.Web.Service.IService; +using PokemonSleep.Web.Utility; + +namespace PokemonSleep.Web.Service +{ + public class PokemonSubskillService : IPokemonSubskillService + { + private readonly IBaseService _baseService; + public PokemonSubskillService(IBaseService baseService) + { + _baseService = baseService; + } + + public async Task GetAllPokemonSubskillsAsync() + { + return await _baseService.SendAsync(new RequestDto() + { + ApiType = StaticDetails.ApiType.GET, + Url = StaticDetails.PokemonSleepAPIBase + "/api/subskill" + }); + } + } +} diff --git a/PokemonSleep.Web/Views/Pokemon/PokemonIndex.cshtml b/PokemonSleep.Web/Views/Pokemon/PokemonIndex.cshtml index bb15449..590de7d 100644 --- a/PokemonSleep.Web/Views/Pokemon/PokemonIndex.cshtml +++ b/PokemonSleep.Web/Views/Pokemon/PokemonIndex.cshtml @@ -1,4 +1,4 @@ -@model IEnumerable +@model PokemonSleepDto
@@ -37,7 +37,7 @@