diff --git a/Aspnet/Controllers/ContratoController.cs b/Aspnet/Controllers/ContratoController.cs index ec9ff94..9bb7f32 100644 --- a/Aspnet/Controllers/ContratoController.cs +++ b/Aspnet/Controllers/ContratoController.cs @@ -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 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; diff --git a/Front/src/paginas/ContratosPropietario.svelte b/Front/src/paginas/ContratosPropietario.svelte index dd3c399..8072a10 100644 --- a/Front/src/paginas/ContratosPropietario.svelte +++ b/Front/src/paginas/ContratosPropietario.svelte @@ -1,25 +1,67 @@ +{#if modaldata} + !!(modaldata = "")}/> +{/if}
diff --git a/Modelo/RepositorioContratos.cs b/Modelo/RepositorioContratos.cs index 8052b8c..b84a54e 100644 --- a/Modelo/RepositorioContratos.cs +++ b/Modelo/RepositorioContratos.cs @@ -94,6 +94,7 @@ public class RepositorioContratos: RepositorioBase { 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 { .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; + } }