using Dapper; using Npgsql; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Ventas.API.Controllers; [ApiController] [Route("api/[controller]")] [Authorize] public class UsuarioController : ControllerBase { private readonly string _connectionString; public UsuarioController(IConfiguration configuration) => _connectionString = configuration.GetConnectionString("Default")!; [HttpGet("{id}")] public async Task Info(string id) { using var connection = new NpgsqlConnection(_connectionString); var rows = await connection.QueryAsync("sige_sam_v3.BuscarUsuario", new { usuarioid = id }, commandType: System.Data.CommandType.StoredProcedure); return Ok(rows.Select(r => (Dictionary)(IDictionary)r!)); } [HttpGet("{id}/perfil")] public async Task Perfil(string id) { using var connection = new NpgsqlConnection(_connectionString); var rows = await connection.QueryAsync("sige_sam_v3.BuscarPerfilUsuario", new { usuario = id }, commandType: System.Data.CommandType.StoredProcedure); return Ok(rows.Select(r => (Dictionary)(IDictionary)r!)); } [HttpGet("vendedores")] public async Task VendedoresActivos() { using var connection = new NpgsqlConnection(_connectionString); var rows = await connection.QueryAsync("sige_sam_v3.BuscarVendedoresActivos", commandType: System.Data.CommandType.StoredProcedure); return Ok(rows.Select(r => (Dictionary)(IDictionary)r!)); } }