PokemonSleepTools/PokemonSleepAPI/Controllers/PokemonController.cs

47 lines
1.2 KiB
C#

using AutoMapper;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using PokemonSleepAPI.Data;
using PokemonSleepAPI.Models;
using PokemonSleepAPI.Models.Dto;
using System;
namespace PokemonSleepAPI.Controllers
{
[Route("api/pokemon")]
[ApiController]
public class PokemonController : ControllerBase
{
private readonly PokemonDbContext _db;
private ResponseDto _response;
private IMapper _mapper;
public PokemonController(PokemonDbContext db, IMapper mapper)
{
_db = db;
_mapper = mapper;
_response = new ResponseDto();
}
/* Get all Pokemon */
[HttpGet]
public ResponseDto GetAllPokemon()
{
try
{
IEnumerable<Pokemon> objList = _db.Pokemons.ToList();
_response.Message = "Pokemons found.";
_response.Result = _mapper.Map<IEnumerable<PokemonDto>>(objList);
}
catch (Exception ex)
{
_response.IsSuccess = false;
_response.Message = ex.Message;
}
return _response;
}
}
}