using Entidades; using Entidades.Dto; using Microsoft.EntityFrameworkCore; using Modelo; public class RepositorioPropietario: RepositorioBase { public IQueryable GetPropietarios() { FormattableString sqlq = $""" SELECT I.Dni, I.Nombre, I.Apellido FROM Clientes I JOIN cliente_Grupos cg on cg.idcliente = I.Dni WHERE cg.idgrupo = 1; """; return Context.Database.SqlQuery(sqlq); } public Cliente? ObtenerPropietarioPorDni(long Dni){ if (Dni < 1) return null; FormattableString sqlq = $""" SELECT * FROM Clientes c JOIN cliente_Grupos cg ON cg.idgrupo = 1 WHERE c.dni = {Dni} LIMIT 1 """; Cliente? cli = Context.Database.SqlQuery(sqlq).First(); if (cli == null|| cli.Dni == 0) return null; if (cli.Dni == 0 || cli == null) return null; return cli; } public Cliente? ObtenerPropietarioPorEmail(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; var grupo = cli.Idgrupos.FirstOrDefault(x=>x.Id == 1); if (grupo == null) return null; return cli; } public Cliente? ObtenerPropietarioPorIdPropiedad(int idpropiedad) { var con = Context; Propiedade? pro = con.Propiedades.Include(x=>x.DnipropietarioNavigation) .FirstOrDefault(x=>x.Id == idpropiedad); if (pro == null || pro.DnipropietarioNavigation == null) return null; return pro.DnipropietarioNavigation; } }