cambiado que use permisos

This commit is contained in:
2025-04-28 17:41:43 -03:00
parent 2dd72bf070
commit 2304e7b54b

View File

@@ -5,44 +5,49 @@ using Modelo;
namespace AlquilaFacil.Controllers; namespace AlquilaFacil.Controllers;
[ApiController] [ApiController]
public class EstadisticaController: ControllerBase { public class EstadisticaController : ControllerBase
{
[HttpGet("api/stats/alquileresIniciados")] [HttpGet("api/stats/alquileresIniciados")]
public IActionResult alquileresIniciadosEsteAño([FromHeader(Name ="Auth")]string Auth, int year) { public IActionResult alquileresIniciadosEsteAño([FromHeader(Name = "Auth")] string Auth, int year)
{
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest(""); if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 6);
if (validacion1 == false) return Unauthorized(); if (validacion1 == false) return Unauthorized();
var validacion2 = RepositorioContratos.Singleton.HayContratosEnAño(year); var validacion2 = RepositorioContratos.Singleton.HayContratosEnAño(year);
if (validacion2 == false) return BadRequest(new { message = "No hay contratos en ese año"}); if (validacion2 == false) return BadRequest(new { message = "No hay contratos en ese año" });
var a = RepositorioEstadisticas.Singleton.ObtenerDataIniciadosPorAño(year); var a = RepositorioEstadisticas.Singleton.ObtenerDataIniciadosPorAño(year);
return Ok(a); return Ok(a);
} }
[HttpGet("api/contrato/stats")] [HttpGet("api/contrato/stats")]
public IActionResult ObtenerMesesPagos([FromHeader(Name ="Auth")]string Auth, long idcontrato=0){ public IActionResult ObtenerMesesPagos([FromHeader(Name = "Auth")] string Auth, long idcontrato = 0)
{
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest(""); if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 12);
if (validacion1 == false) return Unauthorized(); if (validacion1 == false) return Unauthorized();
if (idcontrato<=0) return BadRequest(new {message = "No puede tener un id contrato menor o igual a 0"}); if (idcontrato <= 0) return BadRequest(new { message = "No puede tener un id contrato menor o igual a 0" });
var ret = RepositorioEstadisticas.Singleton.ObtenerDatosPagosContrato(idcontrato); var ret = RepositorioEstadisticas.Singleton.ObtenerDatosPagosContrato(idcontrato);
return Ok(ret); return Ok(ret);
} }
[HttpGet("api/tabla/alquileresIniciados")] [HttpGet("api/tabla/alquileresIniciados")]
public IActionResult tablaalquileresIniciadosEsteAño([FromHeader(Name ="Auth")]string Auth, int year) { public IActionResult tablaalquileresIniciadosEsteAño([FromHeader(Name = "Auth")] string Auth, int year)
{
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest(""); if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 6);
if (validacion1 == false) return Unauthorized(); if (validacion1 == false) return Unauthorized();
var validacion2 = RepositorioContratos.Singleton.HayContratosEnAño(year);
if (validacion2 == false) return BadRequest(new { message = "No hay contratos en ese año"});
var a = RepositorioEstadisticas.Singleton.TablaObtenerContratosIniciadosPorAño(year);
if (a == null) return BadRequest(new { message = "Fallo al obtener el contrato"});
List<InformesAlquiler> informe =new(); var validacion2 = RepositorioContratos.Singleton.HayContratosEnAño(year);
foreach (var i in a) { if (validacion2 == false) return BadRequest(new { message = "No hay contratos en ese año" });
var a = RepositorioEstadisticas.Singleton.TablaObtenerContratosIniciadosPorAño(year);
if (a == null) return BadRequest(new { message = "Fallo al obtener el contrato" });
List<InformesAlquiler> informe = new();
foreach (var i in a)
{
var d = new InformesAlquilerBuilder() var d = new InformesAlquilerBuilder()
.SetId(i.Id).SetUbicacion(i.IdpropiedadNavigation.Ubicacion) .SetId(i.Id).SetUbicacion(i.IdpropiedadNavigation.Ubicacion)
.SetDivisa(i.IddivisaNavigation.Signo) .SetDivisa(i.IddivisaNavigation.Signo)
@@ -52,22 +57,24 @@ public class EstadisticaController: ControllerBase {
return Ok(informe); return Ok(informe);
} }
[HttpGet("api/stats/duracionContrato")] [HttpGet("api/stats/duracionContrato")]
public IActionResult DuracionContrato([FromHeader(Name ="Auth")]string Auth) { public IActionResult DuracionContrato([FromHeader(Name = "Auth")] string Auth)
{
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest(""); if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 6);
if (validacion1 == false) return Unauthorized(); if (validacion1 == false) return Unauthorized();
var a = RepositorioEstadisticas.Singleton.ObtenerDataDuracionContratos(); var a = RepositorioEstadisticas.Singleton.ObtenerDataDuracionContratos();
return Ok(a); return Ok(a);
} }
[HttpGet("api/tabla/duracionContrato")] [HttpGet("api/tabla/duracionContrato")]
public IActionResult TablaDuracionContrato([FromHeader(Name ="Auth")]string Auth) { public IActionResult TablaDuracionContrato([FromHeader(Name = "Auth")] string Auth)
{
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest(""); if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 6);
if (validacion1 == false) return Unauthorized(); if (validacion1 == false) return Unauthorized();
var a = RepositorioEstadisticas.Singleton.TablaObtenerDataDuracionContratos(); var a = RepositorioEstadisticas.Singleton.TablaObtenerDataDuracionContratos();
return Ok(a); return Ok(a);
} }
} }