Replace RepositorioGrupos with RepositorioPermisos

This commit is contained in:
2025-04-28 20:24:22 -03:00
parent 5df52d8426
commit b6d78747c8

View File

@@ -7,17 +7,21 @@ using Modelo;
namespace AlquilaFacil.Controllers; namespace AlquilaFacil.Controllers;
[ApiController] [ApiController]
public class DefectoController: ControllerBase { public class DefectoController : ControllerBase
{
[HttpGet("api/defectos")] [HttpGet("api/defectos")]
public IActionResult ObtenerDefectosEnContrato([FromHeader(Name = "Auth")] string Auth, long Idcontrato = 0) { public IActionResult ObtenerDefectosEnContrato([FromHeader(Name = "Auth")] string Auth, long Idcontrato = 0)
if (Idcontrato <= 0) return BadRequest( new { message = "La id de contrato no puede ser menor o igual a 0"}); {
if (Idcontrato <= 0) return BadRequest(new { message = "La id de contrato no puede ser menor o igual a 0" });
if (String.IsNullOrEmpty(Auth)) return Unauthorized(); if (String.IsNullOrEmpty(Auth)) return Unauthorized();
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 12);
if (validacion1 == false){ if (validacion1 == false)
validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Inquilino"); {
if (validacion1 == false) { validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 11);
if (validacion1 == false)
{
return Unauthorized(); return Unauthorized();
} }
} }
@@ -26,19 +30,20 @@ public class DefectoController: ControllerBase {
if (cli == null) return Unauthorized(); if (cli == null) return Unauthorized();
Contrato? cont = RepositorioContratos.Singleton.ObtenerContratoPorId(Idcontrato); Contrato? cont = RepositorioContratos.Singleton.ObtenerContratoPorId(Idcontrato);
if (cont == null) return BadRequest(new { message = "No hay contrato por esa id"}); if (cont == null) return BadRequest(new { message = "No hay contrato por esa id" });
if (cont.Dniinquilino != cli.Dni && cont.Dnipropietario != cli.Dni) return BadRequest(new { message = "no deberias tener acceso a esto"}); if (cont.Dniinquilino != cli.Dni && cont.Dnipropietario != cli.Dni) return BadRequest(new { message = "no deberias tener acceso a esto" });
var l = RepositorioDefectos.Singleton.ObtenerDefectosPorIdContrato(Idcontrato); var l = RepositorioDefectos.Singleton.ObtenerDefectosPorIdContrato(Idcontrato);
List<DefectoDto> ll = new(); List<DefectoDto> ll = new();
foreach (var i in l){ foreach (var i in l)
{
var n = new DefectoDtoBuilder() var n = new DefectoDtoBuilder()
.SetId(i.Id) .SetId(i.Id)
.SetDesc(i.Descripcion) .SetDesc(i.Descripcion)
.SetCosto(i.Costo) .SetCosto(i.Costo)
.SetEstado(i.IdestadoNavigation.Descipcion) .SetEstado(i.IdestadoNavigation.Descipcion)
.SetIdContrato(i.Idcontrato??0) .SetIdContrato(i.Idcontrato ?? 0)
.SetPagaInquilino(i.Pagainquilino) .SetPagaInquilino(i.Pagainquilino)
.SetDivisa(i.IddivisaNavigation.Signo) .SetDivisa(i.IddivisaNavigation.Signo)
.Build(); .Build();
@@ -48,54 +53,58 @@ public class DefectoController: ControllerBase {
} }
[HttpPost("api/defecto")] [HttpPost("api/defecto")]
public IActionResult AltaDefecto([FromHeader(Name = "Auth")] string Auth, AltaDefectoDto data) { public IActionResult AltaDefecto([FromHeader(Name = "Auth")] string Auth, AltaDefectoDto data)
{
if (String.IsNullOrEmpty(Auth)) return Unauthorized(); if (String.IsNullOrEmpty(Auth)) return Unauthorized();
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Inquilino"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 11);
if (validacion1 == false) return Unauthorized(); if (validacion1 == false) return Unauthorized();
Cliente? cli =RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return Unauthorized(); if (cli == null) return Unauthorized();
string r = ValidarDto(data); string r = ValidarDto(data);
if (r != "") return BadRequest(new { message = r }); if (r != "") return BadRequest(new { message = r });
Defecto defecto = new Defecto{ Defecto defecto = new Defecto
{
Costo = data.Costo, Costo = data.Costo,
Descripcion = data.Descripcion, Descripcion = data.Descripcion,
Idcontrato = data.Idcontrato, Idcontrato = data.Idcontrato,
Iddivisa = data.Iddivisa, Iddivisa = data.Iddivisa,
Pagainquilino = data.Pagainquilino==0?0Lu:1Lu, Pagainquilino = data.Pagainquilino == 0 ? 0Lu : 1Lu,
Idestado = 1, Idestado = 1,
}; };
var b = RepositorioDefectos.Singleton.AltaDefecto(defecto, cli.Dni); var b = RepositorioDefectos.Singleton.AltaDefecto(defecto, cli.Dni);
return b ?Ok(new { message = "Se cargo el Defecto en el sistema"}):BadRequest(new { message ="No se pudo cargar el defecto en el sistema"}); return b ? Ok(new { message = "Se cargo el Defecto en el sistema" }) : BadRequest(new { message = "No se pudo cargar el defecto en el sistema" });
} }
private string ValidarDto(AltaDefectoDto d){ private string ValidarDto(AltaDefectoDto d)
string ret =""; {
string ret = "";
if (d == null) return "Dto nulo"; if (d == null) return "Dto nulo";
if (d.Iddivisa <0 || d.Iddivisa>1) ret +="No son divisas validas\n"; if (d.Iddivisa < 0 || d.Iddivisa > 1) ret += "No son divisas validas\n";
if (d.Descripcion == "") ret+="La descripcion no puede estar vacia\n"; if (d.Descripcion == "") ret += "La descripcion no puede estar vacia\n";
if (d.Idcontrato<=0)ret += "No puede haber un id de contrato igual o menor a 0\n"; if (d.Idcontrato <= 0) ret += "No puede haber un id de contrato igual o menor a 0\n";
return ret; return ret;
} }
[HttpPut("api/defecto/marcarpago")] [HttpPut("api/defecto/marcarpago")]
public IActionResult MarcarPago([FromHeader(Name = "Auth")] string Auth, long iddefecto = 0) { public IActionResult MarcarPago([FromHeader(Name = "Auth")] string Auth, long iddefecto = 0)
{
if (String.IsNullOrEmpty(Auth)) return Unauthorized(); if (String.IsNullOrEmpty(Auth)) return Unauthorized();
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario"); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 12);
if (validacion1 == false) return Unauthorized(); if (validacion1 == false) return Unauthorized();
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli==null) return Unauthorized(); if (cli == null) return Unauthorized();
if (iddefecto<=0) return BadRequest(new { message = "No hay canones con id 0 o menor"}); if (iddefecto <= 0) return BadRequest(new { message = "No hay canones con id 0 o menor" });
bool ret = RepositorioDefectos.Singleton.MarcarPago(iddefecto, cli.Dni); bool ret = RepositorioDefectos.Singleton.MarcarPago(iddefecto, cli.Dni);
return ret ? return ret ?
Ok(new { message = "Se marco como pagado" }):BadRequest(new { message = "Fallo el acceso a la base de datos o no se encontro el defecto" }); Ok(new { message = "Se marco como pagado" }) : BadRequest(new { message = "Fallo el acceso a la base de datos o no se encontro el defecto" });
} }
} }