Files
rm-ventas/backend/src/Ventas.API/Controllers/UsuarioController.cs
T
Nurfog c1e35445f6 feat: complete fase 1 - all controllers, services, middleware
- Added Ejecutivo.cs entity
- ArqueoService + ArqueoController (arqueos por fecha/usuario)
- 13 missing controllers: Curso, Descuento, Documento, Empresa, Horario,
  Jornada, Programa, Propuesta, Region, Sala, Sede, Tarifa, Usuario
- JwtMiddleware.cs for cookie/token validation
- SpComplexQueries.cs for Dapper multi-resultset
- ArqueoService registered in DI
- Build: 0 errors
- Total: 21 controllers, 8 services, 7 repos, 21 entities
2026-07-08 10:26:20 -04:00

46 lines
1.7 KiB
C#

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<IActionResult> 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<string, object>)(IDictionary<string, object>)r!));
}
[HttpGet("{id}/perfil")]
public async Task<IActionResult> 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<string, object>)(IDictionary<string, object>)r!));
}
[HttpGet("vendedores")]
public async Task<IActionResult> 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<string, object>)(IDictionary<string, object>)r!));
}
}