tuki testeaduki y andanduki

This commit is contained in:
2025-01-13 17:10:42 -03:00
parent 69b83c8380
commit 062b97515f
4 changed files with 43 additions and 20 deletions

View File

@@ -23,6 +23,7 @@
if (leiContrato) {
let idcontrato = Number(men.mensaje.split(" ").reverse()[0]);
onConfirm(idcontrato);
onClose();
}
}
@@ -30,6 +31,7 @@
if (leiContrato) {
let idcontrato = Number(men.mensaje.split(" ").reverse()[0]);
onCancel(idcontrato);
onClose();
}
}
</script>
@@ -57,7 +59,7 @@
disabled={!contratoDescargado}
/>
<label class="form-check-label" for="leiContratoCheckbox">
Leí el contrato
Firme el contrato con el agente de la inmobiliaria
</label>
</div>
</div>

View File

@@ -2,7 +2,12 @@
import { Navbar, NavbarBrand, NavbarToggler, NavItem, Nav, NavLink, Collapse } from "@sveltestrap/sveltestrap";
let isOpen:boolean = false;
let theme = $state(localStorage.getItem("theme") ?? "light");
const toggleTheme = () => {
theme = theme === "light" ? "dark" : "light";
document.body.setAttribute("data-bs-theme", theme);
localStorage.setItem("theme", theme);
};
</script>
@@ -10,6 +15,15 @@
<NavbarBrand href="/">
AlquilaFacil
</NavbarBrand>
<div>
<button class="badge btn" onclick={toggleTheme} style="background-color: cadetblue;">
{#if theme === "light" }
<img src="/toggle-left.svg" alt=""/>
{:else}
<img src="/toggle-right.svg" alt=""/>
{/if}
</button>
</div>
<NavbarToggler on:click={() => (isOpen = !isOpen)} />
<Collapse isOpen={isOpen} navbar expand="md">
<Nav class="ms-auto" navbar>

View File

@@ -330,7 +330,7 @@
}
}
async function handlerechazarcontrato(idcontrato:number) {
async function handleAceptarContrato(idcontrato:number) {
if (idcontrato<=0){
modaldata="La idcontrato da 0 o menos comunicate con el administrador";
return;
@@ -344,6 +344,7 @@
method: "POST",
headers: {
"Auth": String(token),
"Content-Type": "application/json",
},
body: JSON.stringify(rq),
});
@@ -367,17 +368,23 @@
}
}
async function handleAceptarContrato(idcontrato:number) {
async function handlerechazarcontrato(idcontrato:number) {
if (idcontrato<=0){
modaldata="La idcontrato da 0 o menos comunicate con el administrador";
return;
}
try {
let rq = {
idcontrato:idcontrato,
fecha:Selmens.fecha
}
const responce = await fetch($urlG+"/api/contratos/rechazarPreContrato?idcontrato="+idcontrato, {
method: "PUT",
headers: {
"Auth": String(token),
}
"Content-Type": "application/json",
},
body: JSON.stringify(rq),
});
if (responce.ok){
let data = await responce.json();
@@ -413,7 +420,7 @@
{:else if Selmens.accion == "Check y Contrato"}
<ModalCheckYContrato {garantes} men={Selmens} onCancel={handleCancelPrecontrato} onClose={() => (Selmens.accion = "")} onConfirm={handleEnviarmensaje4}/>
{:else if Selmens.accion == "Aceptar Contrato"}
<ModalVeryAceptarContrato onClose={() => (Selmens.accion = "")} onConfirm={handleAceptarContrato} onCancel={handleCancelPrecontrato} getContrato={ObtenerContrato} men={Selmens}/>
<ModalVeryAceptarContrato onClose={() => (Selmens.accion = "")} onConfirm={handleAceptarContrato} onCancel={handlerechazarcontrato} getContrato={ObtenerContrato} men={Selmens}/>
{/if}
<div class="container">
@@ -466,28 +473,26 @@
<td>{men.fecha}</td>
<td>{men.propiedad}</td>
{#if mostrarleidos == false}
<td>
{#if mostrarleidos == false && men.accion != "Rechazo Contrato" && men.accion != "Aceptado Contrato"}
<button
class="btn btn-outline-primary"
onclick={() => abrirModal(men)}
>
onclick={() => abrirModal(men)}>
Expandir
</button>
</td>
{:else if men.accion == "ContratoCancelado"}
<td>
{/if}
{#if men.accion === "ContratoCancelado" || men.accion === "Rechazo Contrato" ||
men.accion === "Aceptado Contrato"}
<button
class="btn btn-outline-danger"
onclick={() => marcarleido(men.fecha, localStorage.getItem("email")|| "", men)}
>
onclick={() => marcarleido(men.fecha, localStorage.getItem("email")|| "", men)}>
Marcar Leido
</button>
</td>
{/if}
</td>
</tr>
{/each}
{/if}
{/each}
{/if}
</tbody>
</table>
{/if}

View File

@@ -111,7 +111,7 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
var con = Context;
Contrato? cont = con.Contratos
.Include(x=>x.Idcanons)
.Include(x=>x.Idpropiedad)
.Include(x=>x.IdpropiedadNavigation)
.FirstOrDefault(x=>x.Id ==idcontrato &&
x.Habilitado ==0 &&
x.Cancelado == 0);
@@ -125,10 +125,12 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
Canon can = new Canon{
Fecha = fecha.AddMonths(i),
Monto = cont.IdpropiedadNavigation.Monto,
Pagado = 0
Pagado = 0,
};
can.Id = (con.Canons.Any()? con.Canons.Max(x=>x.Id) :0)+1;
can.Idcontratos.Add(cont);
con.Canons.Add(can);
cont.Idcanons.Add(can);
}
return Guardar(con);
@@ -136,7 +138,7 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
public bool CancelarPrecontrato(long idcontrato) {
var con = Context;
Contrato? cont = con.Contratos.Include(x=>x.Idpropiedad).FirstOrDefault(x=>x.Id ==idcontrato && x.Habilitado ==0);
Contrato? cont = con.Contratos.Include(x=>x.IdpropiedadNavigation).FirstOrDefault(x=>x.Id ==idcontrato && x.Habilitado ==0);
if (cont == null|| cont.IdpropiedadNavigation==null) return false;
cont.Cancelado = 1;
cont.IdpropiedadNavigation.Idestado = 1;