diff --git a/Aspnet/Controllers/CargaContratoAdminController.cs b/Aspnet/Controllers/CargaContratoAdminController.cs new file mode 100644 index 0000000..c01729f --- /dev/null +++ b/Aspnet/Controllers/CargaContratoAdminController.cs @@ -0,0 +1,45 @@ +using Microsoft.AspNetCore.Mvc; +using Modelo; + + +[ApiController] +public class CargarContratoAdminController: ControllerBase{ + + [HttpGet("api/admin/contrato/data")] + public IActionResult GetData([FromHeader(Name ="Auth")]string Auth) { + var cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); + if (cli == null) return BadRequest(new { message = "No hay usuario por ese token"}); + + var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 20); + if (validacion1 == false) return Unauthorized(); + + var divisas = RepositorioDivisas.Singleton.ObtenerDivisas(); + + var propiedades = RepositorioPropiedades.Singleton.ListarPropiedades().ToList() + .Select(x=> new {id = x.id, + ubicacion = x.Ubicacion}); + + var inquilinos = RepositorioInquilinos.Singleton.GetInquilinos().ToList() + .Select(x=>new {dni=x.Dni, nombre = x.Nombre}); + + var propietarios = RepositorioPropietario.Singleton.GetPropietarios().ToList() + .Select(x=>new {dni=x.Dni, nombre = x.Nombre}); + + return Ok(new {divisas, + propiedades, + inquilinos, + propietarios}); + } + + [HttpGet("api/admin/contrato/propieades")] + public IActionResult GetPropiedadesPorPropietario([FromHeader(Name ="Auth")]string Auth, long dnipropietario){ + var cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); + if (cli == null) return BadRequest(new { message = "No hay usuario por ese token"}); + + var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 20); + if (validacion1 == false) return Unauthorized(); + + var propiedades = RepositorioPropiedades.Singleton.ObtenerPropiedadEnAlquilerPorDni(dnipropietario); + return Ok(propiedades); + } +} diff --git a/Entidades/Dto/PropietarioDto.cs b/Entidades/Dto/PropietarioDto.cs new file mode 100644 index 0000000..a80224c --- /dev/null +++ b/Entidades/Dto/PropietarioDto.cs @@ -0,0 +1,6 @@ +namespace Entidades.Dto; +public class PropietarioDto{ + public string Nombre {get; set;} = ""; + public long Dni {get; set;} + public string Apellido {get; set;} = ""; +} diff --git a/Front/src/App.svelte b/Front/src/App.svelte index 842e967..bcf328b 100644 --- a/Front/src/App.svelte +++ b/Front/src/App.svelte @@ -35,6 +35,7 @@ import GestionPemisos from "./paginas/GestionPemisos.svelte"; import UsuarioPanel from "./paginas/UsuarioPanel.svelte"; import CrearUsuario from "./paginas/CrearUsuario.svelte"; + import CargarContratoAdmin from "./paginas/CargarContratoAdmin.svelte"; @@ -147,6 +148,10 @@ + + + + diff --git a/Front/src/paginas/CargarContratoAdmin.svelte b/Front/src/paginas/CargarContratoAdmin.svelte new file mode 100644 index 0000000..923d94d --- /dev/null +++ b/Front/src/paginas/CargarContratoAdmin.svelte @@ -0,0 +1,568 @@ + + + +{#if modaldata} + !!(modaldata = "")}/> +{/if} + +
+

Alta de Contrato

+
+ +
+ +
+
+ + +
+
+
+ +
+ +
+
+ + +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + {#if contrato.cantgarantemin > 0} +
+
+
Garantes
+
+ + + + + + + + + + + + + {#each contrato.garantes as garante, i} + + + + + + + + + {/each} + +
DNINombreApellidoDomicilioCelularDomicilio Laboral
+ actualizarGarante(i, 'dni', e.target.value)} + /> + + actualizarGarante(i, 'nombre', e.target.value)} + /> + + actualizarGarante(i, 'apellido', e.target.value)} + /> + + actualizarGarante(i, 'domicilio', e.target.value)} + /> + + actualizarGarante(i, 'celular', e.target.value)} + /> + + actualizarGarante(i, 'domicilioLaboral', e.target.value)} + /> +
+
+
+
+ {/if} + +
+ +
+ + {#if contrato.archivoContrato} + Archivo seleccionado: {contrato.archivoContrato.name} + {/if} +
+
+ +
+ +
+
+ + +
+
+
+ +
+ +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + {#if contrato.tieneopcionventa} +
+ +
+
+ + +
+
+
+ +
+ +
+ +
+
+ {/if} + +
+
+ +
+
+
+
diff --git a/Modelo/RepositorioDivisas.cs b/Modelo/RepositorioDivisas.cs new file mode 100644 index 0000000..0142d3d --- /dev/null +++ b/Modelo/RepositorioDivisas.cs @@ -0,0 +1,10 @@ +using Entidades; + +namespace Modelo; +public class RepositorioDivisas: RepositorioBase { + public List ObtenerDivisas(){ + var con = Context; + var divisas = con.Divisas.ToList(); + return divisas; + } +} diff --git a/Modelo/RepositorioPropiedades.cs b/Modelo/RepositorioPropiedades.cs index 82b6e52..21ae862 100644 --- a/Modelo/RepositorioPropiedades.cs +++ b/Modelo/RepositorioPropiedades.cs @@ -11,6 +11,12 @@ using MySql.Data.MySqlClient; public class RepositorioPropiedades : RepositorioBase { + public List ObtenerPropiedadEnAlquilerPorDni(long dni){ + var con = Context; + var propiedades = con.Propiedades.Where(x=>x.Dnipropietario == dni && x.Idestado == 1).ToList(); + return propiedades; + } + public IQueryable ListarPropiedades() { FormattableString sqlq = $""" diff --git a/Modelo/RepositorioPropietario.cs b/Modelo/RepositorioPropietario.cs index cc5bbb2..a48322a 100644 --- a/Modelo/RepositorioPropietario.cs +++ b/Modelo/RepositorioPropietario.cs @@ -1,10 +1,20 @@ -using System; using Entidades; +using Entidades.Dto; using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; 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;