este es el trabajo de hoy

This commit is contained in:
2025-02-01 02:29:34 -03:00
parent c0bc97fb64
commit af231344b6
11 changed files with 240 additions and 5 deletions

View File

@@ -14,6 +14,69 @@ namespace AlquilaFacil.Controllers;
[ApiController]
public class VentaController:ControllerBase {
[HttpGet("/api/propiedad/EstaALaVenta")]
public IActionResult EstaALaVenta([FromHeader(Name="Auth")]string Auth, int idprop=0) {
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario");
if (validacion1 == false) {
return Unauthorized();
}
if (idprop<=0) return BadRequest(new { message = "No hay propiedades con id 0 o menor"});
Propiedade? prop = RepositorioPropiedades.Singleton.ObtenerPropiedadPorId(idprop);
if (prop == null) return BadRequest(new { message = "No hay propiedades por ese id"});
return Ok(new { EstaAVenta = prop.Idestado ==4?true:false});
}
[HttpPut("/api/propiedad/setPropiedadAVenta")]
public IActionResult setPropiedadAVenta([FromHeader(Name="Auth")]string Auth, SetVentaDto dto) {
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario");
if (validacion1 == false) {
return Unauthorized();
}
if (dto.iddivisa != 0 && dto.iddivisa!=1) return BadRequest(new { message = "no hay una divisa por esa id"});
if (dto.idpropiedad<=0) return BadRequest(new { message = "No hay propiedades con id 0 o menor"});
if (dto.monto<1) return BadRequest(new { message = "No se pueden hacer ventas por montos menores a 1"});
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return Unauthorized();
Propiedade? prop = RepositorioPropiedades.Singleton.ObtenerPropiedadPorId(dto.idpropiedad);
if (prop == null) return BadRequest(new { message = "No hay propiedades por ese id"});
if (cli.Dni != prop.Dnipropietario) return Unauthorized();
var ret = RepositorioVentas.Singleton.SetVenta(prop.Id, dto.monto, dto.iddivisa, cli.Dni);
return ret?
Ok(new { message = "Se puso la propiedad de venta"}) : BadRequest(new { message = "No se pudo poner a la Venta"});
}
[HttpPut("/api/propiedad/unsetPropiedadAVenta")]
public IActionResult unsetPropiedadAVenta([FromHeader(Name="Auth")]string Auth, SetVentaDto dto) {
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario");
if (validacion1 == false) {
return Unauthorized();
}
if (dto.iddivisa != 0 && dto.iddivisa!=1) return BadRequest(new { message = "no hay una divisa por esa id"});
if (dto.idpropiedad<=0) return BadRequest(new { message = "No hay propiedades con id 0 o menor"});
if (dto.monto<1) return BadRequest(new { message = "No se pueden hacer ventas por montos menores a 1"});
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return Unauthorized();
Propiedade? prop = RepositorioPropiedades.Singleton.ObtenerPropiedadPorId(dto.idpropiedad);
if (prop == null) return BadRequest(new { message = "No hay propiedades por ese id"});
if (cli.Dni != prop.Dnipropietario) return Unauthorized();
bool ret = RepositorioVentas.Singleton.UnSetVenta(prop.Id, dto.monto, dto.iddivisa, cli.Dni);
return ret?
Ok(new { message = "Se Bajo la propiedad de venta"}) : BadRequest(new { message = "No se pudo Bajar de venta"});
}
[HttpPost("/api/ventas/ejercerOpcionVenta")]
public IActionResult EjercerOpcionVenta([FromHeader(Name="Auth")]string Auth, [FromQuery]long idcontrato=0) {
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Inquilino");