solo añadi una parte

This commit is contained in:
2025-01-16 01:07:20 -03:00
parent 13e2566c24
commit 59981d76d8
3 changed files with 83 additions and 4 deletions

View File

@@ -470,6 +470,34 @@ public class ContratoController: ControllerBase {
}
}
[HttpGet("api/contratos/garantes")]
public IActionResult ObtenerGarantes([FromHeader(Name ="Auth")] string Auth, int idcontrato) {
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest();
if(idcontrato <= 0) return BadRequest();
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return BadRequest();
Contrato? cont = RepositorioContratos.Singleton.ObtenerContratoPorId(idcontrato);
if (cont == null) return BadRequest();
if (cont.Dniinquilino != cli.Dni && cont.Dnipropietario != cli.Dni) return BadRequest();
var list = cont.Idgarantes;
List<GaranteDto> l = new();
foreach (var i in list) {
l.Add(new GaranteDtoBuilder()
.SetCelular(i.Celular)
.SetDni(i.Dni)
.SetDomicilio(i.Domicilio)
.SetDomicilioLaboral(i.Domiciliolaboral)
.SetNombre(i.Nombre)
.SetApellido(i.Apellido)
.Build());
}
return Ok(l);
}
private string ValidarCancelarDto(CancelarPrecontratoDto dto) {
if (dto == null) return "dto nulo";
string ret = "";
@@ -513,7 +541,7 @@ public class ContratoController: ControllerBase {
if (dto.EmailInquilino == "") ret += "el email del inquilino no puede ser nulo\n";
if (dto.EmailPropietario == "") ret += "el email del propietario no puede estar vacio\n";
if (dto.IdPropiedad <= 0) ret += "la id de propiedad no puede ser igual o menor a 0\n";
if (dto.MesesHastaAumento <= 0) ret += "No puede tener 0 o menos meses hasta el aumento\n"
if (dto.MesesHastaAumento <= 0) ret += "No puede tener 0 o menos meses hasta el aumento\n";
if (dto.MesesDuracionContrato <= 0) ret += "No puede tener 0 o menos meses de duracion\n";
if (dto.MesesDuracionContrato < dto.MesesHastaAumento) ret += "el tiempo hasta aumento no puede ser mayor de \n";
return ret;

View File

@@ -1,25 +1,67 @@
<script lang="ts">
import { onMount } from "svelte";
import NavBarAutocompletable from "../Componentes/NavBarAutocompletable.svelte";
import ModalEstatico from "../Componentes/ModalEstatico.svelte";
import {urlG} from "../stores/urlStore";
import type { GaranteDto } from "../types";
let token = sessionStorage.getItem("token");
let token:string = sessionStorage.getItem("token")||"";
let canons = $state([]);
let garantes: GaranteDto[] = $state([]);
let prop = $state();
let modaldata:string = $state("");
let contratoid:string = $state("");
onMount(()=>{
getparams();
obtenerDatosACargar();
});
async function obtenerDatosACargar() {
try {
const respPropiedad = fetch($urlG+"", {
method: "GET",
headers: {
"Auth": String(token),
}
});
const respgarantes = fetch($urlG+"/api/contratos/garantes?idcontrato="+contratoid, {
method: "GET",
headers: {
"Auth": String(token),
}
});
const respCanons = fetch($urlG+"", {
method: "GET",
headers: {
"Auth": String(token),
}
});
const [p, g, c] = await Promise.all([respPropiedad, respgarantes, respCanons]);
const datosPropiedad = await p.json();
const datosGarantes = await g.json();
const datosCanons = await c.json();
} catch {
}
}
function getparams(){
const qs = window.location.search;
const par = new URLSearchParams(qs);
contratoid = par.get("id")||"";
}
</script>
<NavBarAutocompletable/>
{#if modaldata}
<ModalEstatico payload={modaldata} close={()=>!!(modaldata = "")}/>
{/if}
<div class="container-fluid mt-4">
<div class="row">

View File

@@ -94,6 +94,7 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
Contrato? contr = con.Contratos
.Include(x=>x.DnipropietarioNavigation)
.Include(x=>x.Idgarantes)
.Include(x=>x.DniinquilinoNavigation)
.Where(x=>x.Cancelado == 0 && x.Habilitado == 0)
.FirstOrDefault(x=>x.Id == idcontrato);
if (contr == null) return null;
@@ -183,4 +184,12 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
.Where(x=>x.Dniinquilino == dni);
return l;
}
public Contrato? ObtenerContratoPorId(int idcontrato) {
var con = Context;
var l = con.Contratos
.Include(x=>x.Idgarantes)
.FirstOrDefault(x=>x.Id == idcontrato);
return l;
}
}