feat: primera implementacion propiedades ABM

Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
This commit is contained in:
2024-11-18 16:08:36 -03:00
parent 32c13d91b8
commit ef93c52a5a
7 changed files with 109 additions and 1 deletions

View File

@@ -59,6 +59,21 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades>
return ret;
}
public bool AñadirServicioAPropiedad(int idprop, List<int> idserv){
var con = Context;
Propiedade? prop = con.Propiedades.Find(idprop);
if (prop == null) return false;
foreach (int id in idserv) {
Servicio? servicio = con.Servicios.Find(id);
if (servicio == null) return false;
prop.IdServicios.Add(servicio);
}
return Guardar(con);
}
public bool BajaPropiedad(int id) {
var con = Context;
Propiedade prop = con.Propiedades.Find(id);
@@ -67,4 +82,23 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades>
return Guardar(con);
}
public bool BajaServiciosAPropiedad(int idprop, List<int> idserv)
{
var con = Context;
Propiedade? prop = con.Propiedades.Include(x=>x.IdServicios).FirstOrDefault(x => x.Id == idprop);
if (prop == null) return false;
foreach (int id in idserv) {
Servicio? servicio = con.Servicios.Find(id);
if (servicio == null) return false;
if (prop.IdServicios.Contains(servicio)){
prop.IdServicios.Remove(servicio);
}
}
return Guardar(con);
}
}

View File

@@ -17,6 +17,7 @@ public class RepositorioPropietario: RepositorioBase<RepositorioPropietario> {
""";
Cliente? cli = Context.Database.SqlQuery<Cliente?>(sqlq).First();
if (cli == null|| cli.Dni == 0) return null;
if (cli.Dni == 0 || cli == null) return null;
return cli;
@@ -32,6 +33,7 @@ public class RepositorioPropietario: RepositorioBase<RepositorioPropietario> {
""";
Cliente? cli = Context.Database.SqlQuery<Cliente?>(sqlq).First();
if (cli == null|| cli.Dni == 0) return null;
if (cli.Dni == 0 || cli == null) return null;
return cli;
}

View File

@@ -0,0 +1,11 @@
using Modelo;
using Entidades;
public class RepositorioServicios: RepositorioBase<RepositorioServicios> {
public IQueryable<int> ObtenerServiciosPorPropiedad(int idpropiedad){
var con = Context;
return con.Propiedades
.Where(x => x.Id == idpropiedad)
.SelectMany(x => x.IdServicios)
.Select(x=>x.Id);
}
}