using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using REC_HUMA.CORE.DTOs; using REC_HUMA.CORE.Entities; using REC_HUMA.CORE.Interfaces; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace REC_HUMA.API.Controllers { [Route("api/[controller]")] [ApiController] public class ProvinciaController : ControllerBase { private readonly IProvinciaRepo _ProvinciaRepo; private readonly IMapper _mapper; private readonly ILogger _logger; public ProvinciaController(IProvinciaRepo ProvinciaRepo, IMapper mapper, ILogger logger) { _ProvinciaRepo = ProvinciaRepo; _mapper = mapper; _logger = logger ?? throw new ArgumentNullException(nameof(logger)); } [HttpGet] public async Task> GetProvincias() { try { var provincias = await _ProvinciaRepo.GetProvincias(); var provinciasDto = _mapper.Map>(provincias); return provinciasDto; } catch (Exception ex) { var provinciasDto = new List { new ProvinciaDto() { CodResultado = 500, Mensaje = "Error" } }; _logger.LogError(ex, ex.Message); return provinciasDto; } } [HttpGet("{id}")] public async Task GetProvincia(int id) { try { var provincia = await _ProvinciaRepo.GetProvincia(id); var provinciaDto = _mapper.Map(provincia); return provinciaDto; } catch (Exception ex) { var provinciaDto = new ProvinciaDto { CodResultado = 500, Mensaje = "Error" }; _logger.LogError(ex, ex.Message); return provinciaDto; } } //[HttpPut] //public async Task PutBanco(BancoDto bancoDto) //{ //} //[HttpPost] //public async Task PostBanco(BancoDto bancoDto) //{ //} //[HttpDelete("{id}")] //public async Task DeleteBanco(int id) //{ //} } }