feat: ahora se pueden ver las propiedades dadas de baja y añadido el tema de los servicios
Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
This commit is contained in:
@@ -68,7 +68,7 @@ public bool AñadirPropiedad(Propiedade? prop) {
|
||||
|
||||
public bool PatchPropiedad(Propiedade prop) {
|
||||
var con = Context;
|
||||
Propiedade? propi = con.Propiedades.FirstOrDefault(x=>x.Id == prop.Id);
|
||||
Propiedade? propi = con.Propiedades.Include(x=>x.IdServicios).FirstOrDefault(x=>x.Id == prop.Id);
|
||||
|
||||
if (propi == null) return false;
|
||||
|
||||
@@ -78,17 +78,45 @@ public bool AñadirPropiedad(Propiedade? prop) {
|
||||
propi.Piso = prop.Piso;
|
||||
propi.Letra = prop.Letra;
|
||||
|
||||
propi.IdServicios.Clear();
|
||||
foreach(Servicio ser in prop.IdServicios) {
|
||||
var servi = con.Servicios.FirstOrDefault(x=>x.Id == ser.Id);
|
||||
if (servi == null) return false;
|
||||
propi.IdServicios.Add(servi);
|
||||
}
|
||||
|
||||
return Guardar(con);
|
||||
}
|
||||
|
||||
public IQueryable<PropiedadesDto> ObtenerPropiedadesPorEmail(string email) {
|
||||
FormattableString sqlq = $"""
|
||||
SELECT p.id, p.ubicacion as Ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion as Tipo From Propiedades p
|
||||
SELECT p.id, p.ubicacion as Ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion as Tipo, GROUP_CONCAT(IFNULL(s.descripcion, '') SEPARATOR ', ') AS Servicios
|
||||
FROM Propiedades p
|
||||
JOIN Clientes c ON c.dni = p.dnipropietario
|
||||
JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad
|
||||
LEFT JOIN Servicio_Propiedad ps ON ps.idPropiedad = p.id
|
||||
LEFT JOIN Servicios s ON s.Id = ps.idServicio
|
||||
WHERE c.email = {email} AND p.idestado = 1
|
||||
GROUP BY p.id
|
||||
""";
|
||||
var ret = Context.Database.SqlQuery<PropiedadesDto>(sqlq);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public IQueryable<PropiedadesDto> ObtenerPropiedadesDeBajaPorEmail(string email) {
|
||||
FormattableString sqlq = $"""
|
||||
SELECT p.id, p.ubicacion as Ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion as Tipo, GROUP_CONCAT(IFNULL(s.descripcion, '') SEPARATOR ', ') AS Servicios
|
||||
FROM Propiedades p
|
||||
JOIN Clientes c ON c.dni = p.dnipropietario
|
||||
JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad
|
||||
LEFT JOIN Servicio_Propiedad ps ON ps.idPropiedad = p.id
|
||||
LEFT JOIN Servicios s ON s.Id = ps.idServicio
|
||||
WHERE c.email = {email} AND p.idestado = 3
|
||||
GROUP BY p.id
|
||||
""";
|
||||
var ret = Context.Database.SqlQuery<PropiedadesDto>(sqlq);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -114,7 +142,12 @@ public bool AñadirPropiedad(Propiedade? prop) {
|
||||
Propiedade? prop = con.Propiedades.FirstOrDefault(x=>x.Id == id);
|
||||
if (prop == null) return false;
|
||||
if (prop.Dnipropietario != cli.Dni) return false;
|
||||
prop.Idestado = 3;
|
||||
|
||||
if(prop.Idestado == 1){
|
||||
prop.Idestado = 3;
|
||||
}else{
|
||||
prop.Idestado = 1;
|
||||
}
|
||||
|
||||
return Guardar(con);
|
||||
|
||||
|
||||
@@ -8,4 +8,9 @@ public class RepositorioServicios: RepositorioBase<RepositorioServicios> {
|
||||
.SelectMany(x => x.IdServicios)
|
||||
.Select(x=>x.Id);
|
||||
}
|
||||
|
||||
public List<Servicio> ObtenerServiciosPorDescripcion(List<string> servs){
|
||||
var servicios = Context.Servicios.Where(x=> servs.Contains(x.Descripcion)).ToList();
|
||||
return servicios;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user