c1e35445f6
- 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
46 lines
1.7 KiB
C#
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!));
|
|
}
|
|
}
|