just update Controllers 📀

pull/7/head
Emre KARTAL 2 years ago
parent 49a795992b
commit 7759337bcf

Binary file not shown.

@ -1,4 +1,8 @@
using Microsoft.AspNetCore.Mvc;
using ApiLol.Mapper;
using DTO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using Model;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
@ -8,36 +12,166 @@ namespace ApiLol.Controllers
[ApiController]
public class RunesController : ControllerBase
{
private readonly IDataManager _manager;
private readonly ILogger<RunesController> _logger;
public RunesController(IDataManager dataManager, ILogger<RunesController> logger)
{
_logger = logger;
this._manager = dataManager;
}
// GET: api/<RunesController>
[HttpGet]
public IEnumerable<string> Get()
public async Task<IActionResult> Get([FromQuery] PageRequest pageRequest)
{
return new string[] { "value1", "value2" };
_logger.LogInformation("Executing {Action} - RUNE with parameters: {Parameters}", nameof(Get), pageRequest);
try
{
int nbTotal = await _manager.RunesMgr.GetNbItems();
if (pageRequest.count == 0)
{
pageRequest = new PageRequest() { index = 0, count = nbTotal, orderingPropertyName = pageRequest.orderingPropertyName, descending = pageRequest.descending, name = pageRequest.name };
}
else if (pageRequest.count * pageRequest.index >= nbTotal || pageRequest.count > nbTotal)
{
_logger.LogWarning("too many, maximum {number}", nbTotal);
return BadRequest($"Rune limit exceed, max {nbTotal}");
}
IEnumerable<RuneDto> dtos;
if (pageRequest.name == null)
{
dtos = (await _manager.RunesMgr.GetItems(pageRequest.index, pageRequest.count, pageRequest.orderingPropertyName, pageRequest.descending))
.Select(x => x.ToDto());
}
else
{
dtos = (await _manager.RunesMgr.GetItemsByName(pageRequest.name, pageRequest.index, pageRequest.count, pageRequest.orderingPropertyName, pageRequest.descending))
.Select(x => x.ToDto());
}
return Ok(new { Data = dtos, index = pageRequest.index, count = pageRequest.count, total = nbTotal });
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
// GET api/<RunesController>/5
[HttpGet("{name}")]
public string Get(string name)
public async Task<IActionResult> Get(string name)
{
return "value";
_logger.LogInformation("method {Action} - RUNE call with {name}", nameof(Get), name);
try
{
var dtos = (await _manager.RunesMgr.GetItemByName(name, 0, await _manager.RunesMgr.GetNbItems()))
.Select(x => x.ToDto());
if (dtos.IsNullOrEmpty())
{
_logger.LogWarning($"{name} was not found");
return NotFound($"{name} was not found");
}
return Ok(dtos.First());
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
// POST api/<RunesController>
[HttpPost]
public void Post([FromBody] string value)
public async Task<IActionResult> Post([FromBody] RuneDto rune)
{
_logger.LogInformation("method {Action} - RUNE call with {item}", nameof(Post), rune);
try
{
if (await _manager.RunesMgr.GetNbItemsByName(rune.Name) == 0)
{
return CreatedAtAction(nameof(Get),
(await _manager.RunesMgr.AddItem(rune.ToModel())));
}
_logger.LogWarning($"Name : {rune.Name} is already exist");
return BadRequest($"Name : {rune.Name} is already exist");
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
// PUT api/<RunesController>/5
[HttpPut("{id}")]
public void Put(int id, [FromBody] string value)
[HttpPut("{name}")]
public async Task<IActionResult> Put(string name, [FromBody] RuneDto rune)
{
_logger.LogInformation("method {Action} - RUNE call with {name} and {item}", nameof(Put), name, rune);
try
{
var dtos = (await _manager.RunesMgr.GetItemByName(name, 0, await _manager.RunesMgr.GetNbItems()));
if (dtos.IsNullOrEmpty())
{
return NotFound($"Name {name} not exist");
}
// Checks if the new name exists
if (name != rune.Name)
{
var dtos2 = (await _manager.RunesMgr.GetItemByName(rune.Name, 0, await _manager.RunesMgr.GetNbItems()));
if (dtos2.IsNullOrEmpty() || dtos2.Count() > 0)
{
return BadRequest($"New Name {rune.Name} is already exist");
}
}
return Ok(await _manager.RunesMgr.UpdateItem(dtos.First(),rune.ToModel()));
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
// DELETE api/<RunesController>/5
[HttpDelete("{id}")]
public void Delete(int id)
[HttpDelete("{name}")]
public async Task<IActionResult> Delete(string name)
{
_logger.LogInformation("method {Action} - RUNE call with {name}", nameof(Delete), name);
try
{
var dtos = (await _manager.RunesMgr.GetItemByName(name, 0, await _manager.RunesMgr.GetNbItems()));
if (dtos.IsNullOrEmpty())
{
_logger.LogWarning("{name} was not found", name);
return BadRequest();
}
return Ok(await _manager.RunesMgr.DeleteItem(dtos.First()));
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
[HttpGet("/countRunes")]
public async Task<ActionResult<int>> GetCountSkins()
{
try
{
return Ok(await _manager.RunesMgr.GetNbItems());
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
}
}

@ -25,7 +25,7 @@ namespace ApiLol.Controllers
[HttpGet]
public async Task<IActionResult> Get([FromQuery] PageRequest pageRequest)
{
_logger.LogInformation("Executing {Action} - SKIN with parameters: {Parameters}", nameof(Get), pageRequest.count);
_logger.LogInformation("Executing {Action} - SKIN with parameters: {Parameters}", nameof(Get), pageRequest);
try
{
int nbTotal = await _manager.SkinsMgr.GetNbItems();
@ -36,7 +36,7 @@ namespace ApiLol.Controllers
else if (pageRequest.count * pageRequest.index >= nbTotal || pageRequest.count > nbTotal)
{
_logger.LogWarning("too many, maximum {number}", nbTotal);
return BadRequest($"Champion limit exceed, max {nbTotal}");
return BadRequest($"Skin limit exceed, max {nbTotal}");
}
IEnumerable<SkinDtoC> dtos;
@ -136,7 +136,7 @@ namespace ApiLol.Controllers
// Checks if the new name exists
if (name != skin.Name)
{
var dtos2 = (await _manager.SkinsMgr.GetItemByName(skin.Name, 0, await _manager.ChampionsMgr.GetNbItems()));
var dtos2 = (await _manager.SkinsMgr.GetItemByName(skin.Name, 0, await _manager.SkinsMgr.GetNbItems()));
if (dtos2.IsNullOrEmpty() || dtos2.Count() > 0)
{
return BadRequest($"New Name {skin.Name} is already exist");
@ -158,11 +158,49 @@ namespace ApiLol.Controllers
}
}
[HttpGet("/{name}/champion")]
public async Task<ActionResult<ChampionDto>> GetChampionBySkinName(string name)
{
_logger.LogInformation("method {Action} - Skin call with {name}", nameof(GetChampionBySkinName), name);
try
{
var dtos = (await _manager.SkinsMgr.GetItemByName(name, 0, await _manager.ChampionsMgr.GetNbItems()))
.Select(x => x.ToDtoC());
if (dtos.IsNullOrEmpty())
{
_logger.LogWarning($"{name} was not found");
return NotFound($"{name} was not found");
}
var champion = (await _manager.ChampionsMgr.GetItemByName(dtos.First().ChampionName, 0, 1));
return Ok(champion.First().ToDto());
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
[HttpGet("/countSkins")]
public async Task<ActionResult<int>> GetCountSkins()
{
try
{
return Ok(await _manager.SkinsMgr.GetNbItems());
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
// DELETE api/<SkinsController>/5
[HttpDelete("{name}")]
public async Task<IActionResult> Delete(string name)
{
_logger.LogInformation("method {Action} - Skin call with {name}", nameof(Delete), name);
_logger.LogInformation("method {Action} - SKIN call with {name}", nameof(Delete), name);
try
{
var dtos = (await _manager.SkinsMgr.GetItemByName(name, 0, await _manager.SkinsMgr.GetNbItems()));

@ -67,6 +67,20 @@ namespace ApiLol.Controllers.v1
}
[HttpGet("/countChampions")]
public async Task<ActionResult<int>> GetCountChampions()
{
try
{
return Ok(await _manager.ChampionsMgr.GetNbItems());
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
// DELETE api/<ValuesController>/5
[HttpDelete("{name}")]
public async Task<IActionResult> Delete(string name)

@ -27,7 +27,7 @@ namespace ApiLol.Controllers.v2
[HttpGet]
public async Task<IActionResult> Get([FromQuery] PageRequest pageRequest)
{
_logger.LogInformation("Executing {Action} - CHAMPION - V2.0 with parameters: {Parameters}", nameof(Get), pageRequest.count);
_logger.LogInformation("Executing {Action} - CHAMPION - V2.0 with parameters: {Parameters}", nameof(Get), pageRequest);
try
{
int nbTotal = await _manager.ChampionsMgr.GetNbItems();
@ -47,6 +47,7 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
@ -84,6 +85,7 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
@ -106,6 +108,7 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
@ -127,6 +130,7 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
@ -156,6 +160,7 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
@ -174,6 +179,7 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
@ -192,6 +198,21 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
[HttpGet("/countChampions")]
public async Task<ActionResult<int>> GetCountChampions()
{
try
{
return Ok(await _manager.ChampionsMgr.GetNbItems());
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}
@ -213,6 +234,7 @@ namespace ApiLol.Controllers.v2
}
catch (Exception error)
{
_logger.LogError(error.Message);
return BadRequest(error.Message);
}
}

@ -40,9 +40,9 @@ namespace ApiTests
Assert.AreEqual(skinsResult.Count(), total);
}
}*/
[TestMethod]
/* [TestMethod]
public async Task TestPostSkin()
{
//Arange
@ -62,9 +62,9 @@ namespace ApiTests
var champions = objectResult?.Value as Ski;
Assert.IsNotNull(champions);
}
}*/
[TestMethod]
/* [TestMethod]
public async Task TestPutSkin()
{
//Arange

Loading…
Cancel
Save