implementado hasta el ultimo paso antes de hacer la tercera notificacion

This commit is contained in:
2025-01-08 02:53:31 -03:00
parent 9993e427e0
commit cf07c51eb1
18 changed files with 482 additions and 43 deletions

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore;
namespace Modelo;
public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
public IQueryable<Contrato>? ObtenerContratosPorEmailInquilino(string email){
public IQueryable<Contrato>? ObtenerContratosPorEmailInquilino(string email) {
var con = Context;
try{
var listcont = con.Contratos.Where(x=>x.DniinquilinoNavigation.Email == email);
@@ -12,4 +12,47 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
return null;
}
}
public bool CargaPrecontrato(Contrato? c = null, Notificacione? n = null) {
if (c == null || c.Habilitado == 1) return false;
if (n == null) return false;
var con = Context;
var prop = con.Propiedades.FirstOrDefault(x=>x.Id==c.Idpropiedad);
if (prop == null) return false;
prop.Idestado = 2;
c.Id = con.Contratos.Max(x=>x.Id)+1;
c.Monto = prop.Monto;
con.Contratos.Add(c);
con.Notificaciones.Add(n);
return Guardar(con);
}
public bool CargaGarantes(List<Garante> gar, string emailInquilino, int idpropiedad) {
var con = Context;
Contrato? contr = con.Contratos.Include(x=>x.DniinquilinoNavigation)
.FirstOrDefault(x=>x.Idpropiedad == idpropiedad &&
x.DniinquilinoNavigation.Email == emailInquilino &&
x.Habilitado == 0);
if (contr == null) return false;
foreach (var i in gar) {
i.Id = con.Garantes.Max(x=>x.Id)+1;
contr.Idgarantes.Add(i);
}
return Guardar(con);
}
public int CantidadGarantesEncontrato(string emailInquilino, int idpropiedad) {
var con = Context;
Contrato? contr = con.Contratos.Include(x=>x.DniinquilinoNavigation)
.FirstOrDefault(x=>x.Idpropiedad == idpropiedad &&
x.DniinquilinoNavigation.Email == emailInquilino &&
x.Habilitado == 0);
if (contr == null) return 0;
return contr.Cantgarantemin;
}
}