implementado hasta el ultimo paso antes de hacer la tercera notificacion
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,4 +32,18 @@ public class RepositorioGrupos: RepositorioBase<RepositorioGrupos> {
|
||||
});
|
||||
return grupos;
|
||||
}
|
||||
|
||||
public bool CheckGrupos(string token, string grupo){
|
||||
var con = Context;
|
||||
Cliente? cli = con.Clientes.Include(x=>x.Idgrupos).FirstOrDefault(x=>x.Token == token);
|
||||
if (cli == null) return false;
|
||||
|
||||
Grupo? gru = con.Grupos.FirstOrDefault(x=>x.Nombre == grupo);
|
||||
if (gru == null) return false;
|
||||
|
||||
if (cli.Idgrupos.Contains(gru)) return true;
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
using Entidades;
|
||||
using Entidades.Dto;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
@@ -15,5 +16,15 @@ public class RepositorioInquilinos: RepositorioBase<RepositorioInquilinos> {
|
||||
return Context.Database.SqlQuery<InquilinoDto>(sqlq);
|
||||
}
|
||||
|
||||
public Cliente? ObtenerInquilinoPorEmail(string Email){
|
||||
var con = Context;
|
||||
|
||||
Cliente? cli = con.Clientes.Include(x=>x.Idgrupos).FirstOrDefault(x=>x.Email == Email);
|
||||
if (cli == null || cli.Dni == 0) return null;
|
||||
|
||||
Grupo? gru = cli.Idgrupos.FirstOrDefault(x=>x.Id == 2);
|
||||
if (gru == null) return null;
|
||||
|
||||
return cli;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ using System.Text;
|
||||
using Entidades.Dto;
|
||||
using Entidades;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Concurrent;
|
||||
|
||||
namespace Modelo;
|
||||
|
||||
@@ -20,7 +21,18 @@ public class RepositorioNotificaciones : RepositorioBase<RepositorioNotificacion
|
||||
|
||||
public bool AltaNotificacion(Notificacione n) {
|
||||
var con = Context;
|
||||
|
||||
con.Notificaciones.Add(n);
|
||||
return Guardar(con);
|
||||
}
|
||||
|
||||
public IQueryable<Notificacione> ObtenerNotificacionesDeUsuario(long dni) {
|
||||
var con = Context;
|
||||
|
||||
var notis = con.Notificaciones
|
||||
.Include(x=>x.IdpropiedadNavigation)
|
||||
.Include(x=>x.DniremitenteNavigation)
|
||||
.Where(x => x.Dnicliente == dni);
|
||||
return notis;
|
||||
}
|
||||
}
|
||||
@@ -34,6 +34,7 @@ public class RepositorioPermisos: RepositorioBase<RepositorioPermisos> {
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
//Esto esta comentado porque antes pasaba el string del path de la url, es una mala idea a muchos niveles
|
||||
// abajo un comentario viejo mio
|
||||
/////////////////////////////////////////////////////////////////
|
||||
//me inspiré y hice un regex pero si eliminaba los primeros 8(?) caracteres del string era lo mismo
|
||||
//Match match = Regex.Match(path, @"^/accion/(\d+)$");
|
||||
|
||||
@@ -27,14 +27,9 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
}
|
||||
|
||||
public Propiedade? ObtenerPropiedadPorId(int Id) {
|
||||
var con = Context;
|
||||
Propiedade? prop = con.Propiedades.Include(x=>x.DnipropietarioNavigation).FirstOrDefault(x=>x.Id == Id);
|
||||
|
||||
FormattableString sqlq = $"""
|
||||
SELECT * FROM Propiedades p
|
||||
WHERE p.id = {Id}
|
||||
LIMIT 1
|
||||
""";
|
||||
|
||||
Propiedade? prop = Context.Database.SqlQuery<Propiedade>(sqlq).First();
|
||||
if (prop == null || prop.Id == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -25,9 +25,10 @@ public class RepositorioPropietario: RepositorioBase<RepositorioPropietario> {
|
||||
|
||||
public Cliente? ObtenerPropietarioPorEmail(string email){
|
||||
var con = Context;
|
||||
Cliente? cli = con.Clientes.FirstOrDefault(x=>x.Email == email);
|
||||
Cliente? cli = con.Clientes.Include(x=>x.Idgrupos).FirstOrDefault(x=>x.Email == email);
|
||||
if (cli == null|| cli.Dni == 0) return null;
|
||||
if (cli.Dni == 0 || cli == null) return null;
|
||||
var grupo = cli.Idgrupos.FirstOrDefault(x=>x.Id == 1);
|
||||
if (grupo == null) return null;
|
||||
return cli;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,10 +88,6 @@ public class RepositorioUsuarios: RepositorioBase<RepositorioUsuarios> {
|
||||
var usu = Context.Clientes.FirstOrDefault(x => x.Email == email);
|
||||
if (usu == null) return false;
|
||||
|
||||
#if DEBUG
|
||||
//Console.WriteLine(token + "\n" +usu.Token);
|
||||
#endif
|
||||
|
||||
return usu.Token == token;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user