feat: terminado tema desabilitacion cliente
This commit is contained in:
15
Modelo/RepositorioContratos.cs
Normal file
15
Modelo/RepositorioContratos.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using Entidades;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Modelo;
|
||||
public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
|
||||
public IQueryable<Contrato>? ObtenerContratosPorEmailInquilino(string email){
|
||||
var con = Context;
|
||||
try{
|
||||
var listcont = con.Contratos.Where(x=>x.DniinquilinoNavigation.Email == email);
|
||||
return listcont;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
public IQueryable<PropiedadesDto> ListarPropiedades(){
|
||||
FormattableString sqlq = $"""
|
||||
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
|
||||
GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios
|
||||
GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
|
||||
FROM Propiedades p
|
||||
JOIN EstadoPropiedad ep ON p.idestado = 1
|
||||
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
|
||||
@@ -41,35 +41,36 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
return prop;
|
||||
}
|
||||
|
||||
public bool AñadirPropiedad(Propiedade? prop) {
|
||||
if (prop == null) return false;
|
||||
public bool AñadirPropiedad(Propiedade? prop) {
|
||||
if (prop == null) return false;
|
||||
|
||||
var con = Context;
|
||||
var con = Context;
|
||||
|
||||
if (string.IsNullOrEmpty(prop.Letra)) prop.Letra = "_";
|
||||
if (string.IsNullOrEmpty(prop.Letra)) prop.Letra = "_";
|
||||
|
||||
var filasInsertadasParam = new MySqlParameter("@p_filas_insertadas", SqlDbType.Int)
|
||||
{
|
||||
Direction = ParameterDirection.Output
|
||||
};
|
||||
var filasInsertadasParam = new MySqlParameter("@p_filas_insertadas", SqlDbType.Int)
|
||||
{
|
||||
Direction = ParameterDirection.Output
|
||||
};
|
||||
|
||||
// Ejecutar el procedimiento almacenado
|
||||
var row = con.Database.ExecuteSqlRaw(
|
||||
$"""
|
||||
CALL InsertarPropiedad(@p_ubicacion, @p_cant_habitaciones, @p_piso, @p_letra,
|
||||
@p_dni_propietario, @p_id_tipo_propiedad, @p_filas_insertadas)
|
||||
""",
|
||||
new MySqlParameter("@p_ubicacion", prop.Ubicacion),
|
||||
new MySqlParameter("@p_cant_habitaciones", prop.Canthabitaciones),
|
||||
new MySqlParameter("@p_piso", prop.Piso),
|
||||
new MySqlParameter("@p_letra", prop.Letra),
|
||||
new MySqlParameter("@p_dni_propietario", prop.Dnipropietario),
|
||||
new MySqlParameter("@p_id_tipo_propiedad", prop.Idtipropiedad),
|
||||
filasInsertadasParam
|
||||
);
|
||||
// Ejecutar el procedimiento almacenado
|
||||
var row = con.Database.ExecuteSqlRaw(
|
||||
$"""
|
||||
CALL InsertarPropiedad(@p_ubicacion, @p_cant_habitaciones, @p_piso, @p_letra,
|
||||
@p_dni_propietario, @p_id_tipo_propiedad, @p_monto, @p_filas_insertadas)
|
||||
""",
|
||||
new MySqlParameter("@p_ubicacion", prop.Ubicacion),
|
||||
new MySqlParameter("@p_cant_habitaciones", prop.Canthabitaciones),
|
||||
new MySqlParameter("@p_piso", prop.Piso),
|
||||
new MySqlParameter("@p_letra", prop.Letra),
|
||||
new MySqlParameter("@p_dni_propietario", prop.Dnipropietario),
|
||||
new MySqlParameter("@p_id_tipo_propiedad", prop.Idtipropiedad),
|
||||
new MySqlParameter("@p_monto",prop.Monto),
|
||||
filasInsertadasParam
|
||||
);
|
||||
|
||||
return (int)filasInsertadasParam.Value == 1? true: false;
|
||||
}
|
||||
return (int)filasInsertadasParam.Value == 1? true: false;
|
||||
}
|
||||
|
||||
public bool PatchPropiedad(Propiedade prop) {
|
||||
var con = Context;
|
||||
@@ -82,6 +83,7 @@ public bool AñadirPropiedad(Propiedade? prop) {
|
||||
propi.Ubicacion = prop.Ubicacion;
|
||||
propi.Piso = prop.Piso;
|
||||
propi.Letra = prop.Letra;
|
||||
propi.Monto = prop.Monto;
|
||||
|
||||
propi.IdServicios.Clear();
|
||||
foreach(Servicio ser in prop.IdServicios) {
|
||||
@@ -95,7 +97,7 @@ public bool AñadirPropiedad(Propiedade? prop) {
|
||||
|
||||
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, GROUP_CONCAT(IFNULL(s.descripcion, '') SEPARATOR ', ') AS Servicios
|
||||
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, p.monto as Monto
|
||||
FROM Propiedades p
|
||||
JOIN Clientes c ON c.dni = p.dnipropietario
|
||||
JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad
|
||||
@@ -111,7 +113,7 @@ public bool AñadirPropiedad(Propiedade? prop) {
|
||||
|
||||
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
|
||||
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, p.monto as Monto
|
||||
FROM Propiedades p
|
||||
JOIN Clientes c ON c.dni = p.dnipropietario
|
||||
JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad
|
||||
@@ -326,4 +328,17 @@ public bool AñadirPropiedad(Propiedade? prop) {
|
||||
var ret = Context.Database.SqlQuery<PropiedadesDto>(sqlq);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public bool BajaPropiedades(string email) {
|
||||
var con = Context;
|
||||
try {
|
||||
IQueryable<Propiedade> listprop = con.Propiedades.Where(x=>x.DnipropietarioNavigation.Email == email);
|
||||
foreach (var item in listprop) {
|
||||
item.Idestado = 3;
|
||||
}
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
return Guardar(con);
|
||||
}
|
||||
}
|
||||
@@ -129,4 +129,48 @@ public class RepositorioUsuarios: RepositorioBase<RepositorioUsuarios> {
|
||||
Habilitado = x.Habilitado});
|
||||
return list;
|
||||
}
|
||||
|
||||
public bool AñadirClienteAGrupo(string email, string grupo) {
|
||||
var con = Context;
|
||||
|
||||
var cli = con.Clientes.Include(x => x.Idgrupos).FirstOrDefault(x => x.Email == email);
|
||||
var gru = con.Grupos.FirstOrDefault(x => x.Nombre == grupo);
|
||||
|
||||
if (cli == null || gru == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
cli.Idgrupos.Add(gru);
|
||||
return Guardar(con);
|
||||
}
|
||||
|
||||
public bool EliminarClienteAGrupo(string email, string grupo) {
|
||||
var con = Context;
|
||||
|
||||
var cli = con.Clientes.Include(x => x.Idgrupos).FirstOrDefault(x => x.Email == email);
|
||||
var gru = con.Grupos.FirstOrDefault(x => x.Nombre == grupo);
|
||||
|
||||
if (cli == null || gru == null) {
|
||||
return false;
|
||||
}
|
||||
cli.Idgrupos.Remove(gru);
|
||||
return Guardar(con);
|
||||
}
|
||||
|
||||
public bool BajaCliente(long dni) {
|
||||
var con = Context;
|
||||
|
||||
Cliente? cli = con.Clientes.Include(x=>x.Idgrupos).FirstOrDefault(x=>x.Dni == dni);
|
||||
if (cli == null) return false;
|
||||
|
||||
cli.Habilitado = 0;
|
||||
|
||||
return Guardar(con);
|
||||
}
|
||||
|
||||
public Cliente? ObtenerClientePorDni(long dni) {
|
||||
var con = Context;
|
||||
Cliente? cli = con.Clientes.FirstOrDefault(x=>x.Dni == dni);
|
||||
return cli;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user