arregldo tema faltaba cantidad de meses

This commit is contained in:
2025-01-16 00:36:42 -03:00
parent 3634736b95
commit 13e2566c24
11 changed files with 889 additions and 18 deletions

View File

@@ -42,4 +42,9 @@ public class PrecontratoBuilder : Builder<Contrato> {
data.Fechainicio = fechaprimernotificacion;
return this;
}
public PrecontratoBuilder SetMesesDuracion(int mesesDuracionContrato){
data.MesesDurationContrato = mesesDuracionContrato;
return this;
}
}

View File

@@ -107,6 +107,7 @@ public class ContratoController: ControllerBase {
.SetMesesHastaAumento(dto.MesesHastaAumento)
.SetPropiedad(p.Id)
.SetFecha(DateTime.Parse(dto.fechaprimernotificacion))
.SetMesesDuracion(dto.MesesDuracionContrato)
.Build();
@@ -512,8 +513,9 @@ public class ContratoController: ControllerBase {
if (dto.EmailInquilino == "") ret += "el email del inquilino no puede ser nulo\n";
if (dto.EmailPropietario == "") ret += "el email del propietario no puede estar vacio\n";
if (dto.IdPropiedad <= 0) ret += "la id de propiedad no puede ser igual o menor a 0\n";
if (dto.MesesHastaAumento <= 0) ret += "No puede tener 0 o menos meses hasta el aumento\n";
if (dto.MesesHastaAumento <= 0) ret += "No puede tener 0 o menos meses hasta el aumento\n"
if (dto.MesesDuracionContrato <= 0) ret += "No puede tener 0 o menos meses de duracion\n";
if (dto.MesesDuracionContrato < dto.MesesHastaAumento) ret += "el tiempo hasta aumento no puede ser mayor de \n";
return ret;
}

View File

@@ -7,4 +7,5 @@ public class PrecontratoDto {
public int MesesHastaAumento { get; set; }
public bool TieneOpcionVenta { get; set; }
public string fechaprimernotificacion { get; set; }
public int MesesDuracionContrato { get; set; }
}

723
Front/package-lock.json generated Normal file
View File

@@ -0,0 +1,723 @@
{
"name": "front",
"version": "0.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "front",
"version": "0.0.0",
"dependencies": {
"@sveltejs/kit": "^2.7.3",
"@sveltestrap/sveltestrap": "^6.2.7",
"chartjs": "^0.3.24",
"svelte-routing": "^2.13.0"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^4.0.0",
"@tsconfig/svelte": "^5.0.4",
"prettier": "^3.4.2",
"prettier-plugin-svelte": "^3.3.3",
"svelte": "^5.0.0",
"svelte-check": "^4.0.5",
"tslib": "^2.8.0",
"typescript": "^5.6.3",
"vite": "^5.4.10"
}
},
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
"license": "Apache-2.0",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@esbuild/linux-x64": {
"version": "0.21.5",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.5",
"license": "MIT",
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/set-array": {
"version": "1.2.1",
"license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@polka/url": {
"version": "1.0.0-next.28",
"license": "MIT"
},
"node_modules/@popperjs/core": {
"version": "2.11.8",
"license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.24.0",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.24.0",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@sveltejs/kit": {
"version": "2.7.3",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"@types/cookie": "^0.6.0",
"cookie": "^0.6.0",
"devalue": "^5.1.0",
"esm-env": "^1.0.0",
"import-meta-resolve": "^4.1.0",
"kleur": "^4.1.5",
"magic-string": "^0.30.5",
"mrmime": "^2.0.0",
"sade": "^1.8.1",
"set-cookie-parser": "^2.6.0",
"sirv": "^3.0.0",
"tiny-glob": "^0.2.9"
},
"bin": {
"svelte-kit": "svelte-kit.js"
},
"engines": {
"node": ">=18.13"
},
"peerDependencies": {
"@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1",
"svelte": "^4.0.0 || ^5.0.0-next.0",
"vite": "^5.0.3"
}
},
"node_modules/@sveltejs/vite-plugin-svelte": {
"version": "4.0.0",
"license": "MIT",
"dependencies": {
"@sveltejs/vite-plugin-svelte-inspector": "^3.0.0-next.0||^3.0.0",
"debug": "^4.3.7",
"deepmerge": "^4.3.1",
"kleur": "^4.1.5",
"magic-string": "^0.30.12",
"vitefu": "^1.0.3"
},
"engines": {
"node": "^18.0.0 || ^20.0.0 || >=22"
},
"peerDependencies": {
"svelte": "^5.0.0-next.96 || ^5.0.0",
"vite": "^5.0.0"
}
},
"node_modules/@sveltejs/vite-plugin-svelte-inspector": {
"version": "3.0.1",
"license": "MIT",
"dependencies": {
"debug": "^4.3.7"
},
"engines": {
"node": "^18.0.0 || ^20.0.0 || >=22"
},
"peerDependencies": {
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.0||^4.0.0",
"svelte": "^5.0.0-next.96 || ^5.0.0",
"vite": "^5.0.0"
}
},
"node_modules/@sveltestrap/sveltestrap": {
"version": "6.2.7",
"license": "MIT",
"dependencies": {
"@popperjs/core": "^2.11.8"
},
"peerDependencies": {
"svelte": "^4.0.0 || ^5.0.0 || ^5.0.0-next.0"
}
},
"node_modules/@tsconfig/svelte": {
"version": "5.0.4",
"dev": true,
"license": "MIT"
},
"node_modules/@types/cookie": {
"version": "0.6.0",
"license": "MIT"
},
"node_modules/@types/estree": {
"version": "1.0.6",
"license": "MIT"
},
"node_modules/acorn": {
"version": "8.12.1",
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/acorn-typescript": {
"version": "1.4.13",
"license": "MIT",
"peerDependencies": {
"acorn": ">=8.9.0"
}
},
"node_modules/aria-query": {
"version": "5.3.2",
"license": "Apache-2.0",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/axobject-query": {
"version": "4.1.0",
"license": "Apache-2.0",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/chartjs": {
"version": "0.3.24",
"license": "MIT"
},
"node_modules/chokidar": {
"version": "4.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
},
"engines": {
"node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/cookie": {
"version": "0.6.0",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/debug": {
"version": "4.3.7",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/deepmerge": {
"version": "4.3.1",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/devalue": {
"version": "5.1.1",
"license": "MIT"
},
"node_modules/esbuild": {
"version": "0.21.5",
"hasInstallScript": true,
"license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
"node": ">=12"
},
"optionalDependencies": {
"@esbuild/aix-ppc64": "0.21.5",
"@esbuild/android-arm": "0.21.5",
"@esbuild/android-arm64": "0.21.5",
"@esbuild/android-x64": "0.21.5",
"@esbuild/darwin-arm64": "0.21.5",
"@esbuild/darwin-x64": "0.21.5",
"@esbuild/freebsd-arm64": "0.21.5",
"@esbuild/freebsd-x64": "0.21.5",
"@esbuild/linux-arm": "0.21.5",
"@esbuild/linux-arm64": "0.21.5",
"@esbuild/linux-ia32": "0.21.5",
"@esbuild/linux-loong64": "0.21.5",
"@esbuild/linux-mips64el": "0.21.5",
"@esbuild/linux-ppc64": "0.21.5",
"@esbuild/linux-riscv64": "0.21.5",
"@esbuild/linux-s390x": "0.21.5",
"@esbuild/linux-x64": "0.21.5",
"@esbuild/netbsd-x64": "0.21.5",
"@esbuild/openbsd-x64": "0.21.5",
"@esbuild/sunos-x64": "0.21.5",
"@esbuild/win32-arm64": "0.21.5",
"@esbuild/win32-ia32": "0.21.5",
"@esbuild/win32-x64": "0.21.5"
}
},
"node_modules/esm-env": {
"version": "1.0.0",
"license": "MIT"
},
"node_modules/esrap": {
"version": "1.2.2",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15",
"@types/estree": "^1.0.1"
}
},
"node_modules/fdir": {
"version": "6.4.0",
"dev": true,
"license": "MIT",
"peerDependencies": {
"picomatch": "^3 || ^4"
},
"peerDependenciesMeta": {
"picomatch": {
"optional": true
}
}
},
"node_modules/globalyzer": {
"version": "0.1.0",
"license": "MIT"
},
"node_modules/globrex": {
"version": "0.1.2",
"license": "MIT"
},
"node_modules/import-meta-resolve": {
"version": "4.1.0",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-reference": {
"version": "3.0.2",
"license": "MIT",
"dependencies": {
"@types/estree": "*"
}
},
"node_modules/kleur": {
"version": "4.1.5",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/locate-character": {
"version": "3.0.0",
"license": "MIT"
},
"node_modules/magic-string": {
"version": "0.30.12",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.0"
}
},
"node_modules/mri": {
"version": "1.2.0",
"license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/mrmime": {
"version": "2.0.0",
"license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/ms": {
"version": "2.1.3",
"license": "MIT"
},
"node_modules/nanoid": {
"version": "3.3.7",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/picocolors": {
"version": "1.1.0",
"license": "ISC"
},
"node_modules/postcss": {
"version": "8.4.47",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.1.0",
"source-map-js": "^1.2.1"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/prettier": {
"version": "3.4.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
"integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true,
"license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/prettier-plugin-svelte": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.3.3.tgz",
"integrity": "sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"prettier": "^3.0.0",
"svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0"
}
},
"node_modules/readdirp": {
"version": "4.0.2",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 14.16.0"
},
"funding": {
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/rollup": {
"version": "4.24.0",
"license": "MIT",
"dependencies": {
"@types/estree": "1.0.6"
},
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=18.0.0",
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.24.0",
"@rollup/rollup-android-arm64": "4.24.0",
"@rollup/rollup-darwin-arm64": "4.24.0",
"@rollup/rollup-darwin-x64": "4.24.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.24.0",
"@rollup/rollup-linux-arm-musleabihf": "4.24.0",
"@rollup/rollup-linux-arm64-gnu": "4.24.0",
"@rollup/rollup-linux-arm64-musl": "4.24.0",
"@rollup/rollup-linux-powerpc64le-gnu": "4.24.0",
"@rollup/rollup-linux-riscv64-gnu": "4.24.0",
"@rollup/rollup-linux-s390x-gnu": "4.24.0",
"@rollup/rollup-linux-x64-gnu": "4.24.0",
"@rollup/rollup-linux-x64-musl": "4.24.0",
"@rollup/rollup-win32-arm64-msvc": "4.24.0",
"@rollup/rollup-win32-ia32-msvc": "4.24.0",
"@rollup/rollup-win32-x64-msvc": "4.24.0",
"fsevents": "~2.3.2"
}
},
"node_modules/sade": {
"version": "1.8.1",
"license": "MIT",
"dependencies": {
"mri": "^1.1.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/set-cookie-parser": {
"version": "2.7.0",
"license": "MIT"
},
"node_modules/sirv": {
"version": "3.0.0",
"license": "MIT",
"dependencies": {
"@polka/url": "^1.0.0-next.24",
"mrmime": "^2.0.0",
"totalist": "^3.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/source-map-js": {
"version": "1.2.1",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/svelte": {
"version": "5.1.9",
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.3.0",
"@jridgewell/sourcemap-codec": "^1.5.0",
"@types/estree": "^1.0.5",
"acorn": "^8.12.1",
"acorn-typescript": "^1.4.13",
"aria-query": "^5.3.1",
"axobject-query": "^4.1.0",
"esm-env": "^1.0.0",
"esrap": "^1.2.2",
"is-reference": "^3.0.2",
"locate-character": "^3.0.0",
"magic-string": "^0.30.11",
"zimmerframe": "^1.1.2"
},
"engines": {
"node": ">=18"
}
},
"node_modules/svelte-check": {
"version": "4.0.5",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.25",
"chokidar": "^4.0.1",
"fdir": "^6.2.0",
"picocolors": "^1.0.0",
"sade": "^1.7.4"
},
"bin": {
"svelte-check": "bin/svelte-check"
},
"engines": {
"node": ">= 18.0.0"
},
"peerDependencies": {
"svelte": "^4.0.0 || ^5.0.0-next.0",
"typescript": ">=5.0.0"
}
},
"node_modules/svelte-routing": {
"version": "2.13.0",
"license": "MIT"
},
"node_modules/tiny-glob": {
"version": "0.2.9",
"license": "MIT",
"dependencies": {
"globalyzer": "0.1.0",
"globrex": "^0.1.2"
}
},
"node_modules/totalist": {
"version": "3.0.1",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/tslib": {
"version": "2.8.0",
"dev": true,
"license": "0BSD"
},
"node_modules/typescript": {
"version": "5.6.3",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/vite": {
"version": "5.4.10",
"license": "MIT",
"dependencies": {
"esbuild": "^0.21.3",
"postcss": "^8.4.43",
"rollup": "^4.20.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
"node": "^18.0.0 || >=20.0.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": {
"fsevents": "~2.3.3"
},
"peerDependencies": {
"@types/node": "^18.0.0 || >=20.0.0",
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
"sass-embedded": "*",
"stylus": "*",
"sugarss": "*",
"terser": "^5.4.0"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
"less": {
"optional": true
},
"lightningcss": {
"optional": true
},
"sass": {
"optional": true
},
"sass-embedded": {
"optional": true
},
"stylus": {
"optional": true
},
"sugarss": {
"optional": true
},
"terser": {
"optional": true
}
}
},
"node_modules/vitefu": {
"version": "1.0.3",
"license": "MIT",
"workspaces": [
"tests/deps/*",
"tests/projects/*"
],
"peerDependencies": {
"vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0"
},
"peerDependenciesMeta": {
"vite": {
"optional": true
}
}
},
"node_modules/zimmerframe": {
"version": "1.1.2",
"license": "MIT"
}
}
}

View File

@@ -12,6 +12,8 @@
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^4.0.0",
"@tsconfig/svelte": "^5.0.4",
"prettier": "^3.4.2",
"prettier-plugin-svelte": "^3.3.3",
"svelte": "^5.0.0",
"svelte-check": "^4.0.5",
"tslib": "^2.8.0",

View File

@@ -1,16 +1,16 @@
<script lang="ts">
let { onClose, onSubmit } : {
onClose: () => void,
onSubmit: (data: { opcionVenta: boolean; cantGarantes: number; mesesHastaAumento: number }) => void
onSubmit: (data: { opcionVenta: boolean; cantGarantes: number; mesesHastaAumento: number, mesesDuracionContrato:number }) => void
} = $props();
let opcionVenta: boolean = $state(false);
let cantGarantes: number = $state(0);
let mesesHastaAumento: number = $state(0);
let mesesDuracionContrato:number =$state(0);
function handleSubmit(e:Event) {
e.preventDefault();
onSubmit({ opcionVenta, cantGarantes, mesesHastaAumento });
onSubmit({ opcionVenta, cantGarantes, mesesHastaAumento, mesesDuracionContrato });
onClose();
}
</script>
@@ -39,6 +39,10 @@
<label for="mesesHastaAumento">Meses Hasta Aumento</label>
<input type="number" class="form-control" id="mesesHastaAumento" bind:value={mesesHastaAumento} min="0" required />
</div>
<div class="form-group">
<label for="mesesDuracionContrato">Meses Duracion Contrato</label>
<input type="number" class="form-control" id="mesesDuracionContrato" bind:value={mesesDuracionContrato} min="0" required />
</div>
<div class="modal-footer d-flex justify-content-between">
<button type="button" class="btn btn-secondary" onclick={onClose}>Cancelar</button>
<button type="submit" class="btn btn-primary">Confirmar</button>

View File

@@ -0,0 +1,117 @@
<script lang="ts">
import { onMount } from "svelte";
import NavBarAutocompletable from "../Componentes/NavBarAutocompletable.svelte";
import type { GaranteDto } from "../types";
let token = sessionStorage.getItem("token");
let canons = $state([]);
let garantes: GaranteDto[] = $state([]);
let prop = $state();
onMount(()=>{
});
async function obtenerDatosACargar() {
}
</script>
<NavBarAutocompletable/>
<div class="container-fluid mt-4">
<div class="row">
<div class="col-md-4">
<div class="card">
<div class="card-header text-center">Propiedad</div>
<div class="card-body">
<p><strong>Tipo:</strong> <span>---</span></p>
<p><strong>Ubicación:</strong> <span>---</span></p>
<p><strong>Propietario:</strong> <span>---</span></p>
<p><strong>Habitaciones:</strong> <span>---</span></p>
<p><strong>Piso:</strong> <span>---</span></p>
<p><strong>Letra:</strong> <span>---</span></p>
<p><strong>Estado:</strong> <span>---</span></p>
<p><strong>Fecha Inicio:</strong> <span>---</span></p>
</div>
</div>
</div>
<div class="col-md">
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button
class="accordion-button"
type="button"
data-bs-toggle="collapse"
data-bs-target="#collapseOne"
aria-expanded="true"
aria-controls="collapseOne"
>
Garantes
</button>
</h2>
<div
id="collapseOne"
class="accordion-collapse collapse show"
aria-labelledby="headingOne"
data-bs-parent="#accordionExample"
>
<div class="accordion-body">
<div class="card">
<div class="card-body">
<p class="text-muted">[Información sobre garantes]</p>
</div>
</div>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingTwo">
<button
class="accordion-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#collapseTwo"
aria-expanded="false"
aria-controls="collapseTwo"
>
Canons
</button>
</h2>
<div
id="collapseTwo"
class="accordion-collapse collapse"
aria-labelledby="headingTwo"
data-bs-parent="#accordionExample"
>
<div class="accordion-body">
<div class="card">
<div class="card-body">
<div class="row">
{#each canons as canon}
<div class="col-6 mb-3">
<div class="border p-2">
<p><strong>Mes:</strong> {canon.mes}</p>
<p><strong>Monto:</strong> {canon.monto}</p>
<p><strong>Divisa:</strong> {canon.divisa}</p>
<p><strong>Pago:</strong> {canon.pago ? "Sí" : "No"}</p>
</div>
</div>
{/each}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -69,7 +69,8 @@
<p class="card-text">
<strong>Fecha de inicio:</strong> {new Date(alquiler.fechainicio).toLocaleDateString()}<br />
<strong>Inquilino:</strong> {alquiler.inquilino}<br />
<strong>Propietario:</strong> {alquiler.propietario}
<strong>Propietario:</strong> alquiler.propietario<br>
<strong>Id Propiedad: </strong>{alquiler.id}
</p>
<div class="d-flex justify-content-center">
<button class="btn btn-primary" onclick={()=>navigate("/inquilino/contratos?id="+alquiler.id)}>

View File

@@ -69,7 +69,8 @@
<p class="card-text">
<strong>Fecha de inicio:</strong> {new Date(alquiler.fechainicio).toLocaleDateString()}<br />
<strong>Inquilino:</strong> {alquiler.inquilino}<br />
<strong>Propietario:</strong> {alquiler.propietario}
<strong>Propietario:</strong> alquiler.propietario<br>
<strong>Id Propiedad: </strong>{alquiler.id}
</p>
<div class="d-flex justify-content-center">
<button class="btn btn-primary" onclick={()=>navigate("/propietario/contratos?id="+alquiler.id)}>

View File

@@ -156,8 +156,8 @@
}
}
async function handleEnviarmensaje2(data: {opcionVenta:boolean, cantGarantes:number, mesesHastaAumento:number}) {
if (data.opcionVenta == null || data.cantGarantes <=0 || data.mesesHastaAumento<=0) {
async function handleEnviarmensaje2(data: {opcionVenta:boolean, cantGarantes:number, mesesHastaAumento:number, mesesDuracionContrato:number}) {
if (data.opcionVenta == null || data.cantGarantes <=0 || data.mesesHastaAumento<=0 || data.mesesDuracionContrato <=0) {
modaldata = "Estan mal cargados los datos del form";
return;
}
@@ -172,6 +172,7 @@
fechaprimernotificacion: fecha,
emailInquilino: Selmens.remitente,
emailPropietario: Selmens.receptor,
mesesDuracionContrato: data.mesesDuracionContrato
};
let responce = await fetch($urlG+"/api/contratos/precontrato", {

View File

@@ -26,7 +26,7 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
c.Iddivisa = prop.Iddivisa;
c.Id = (con.Contratos.Any() ? con.Contratos.Max(x => x.Id) : 0) + 1;
c.Monto = prop.Monto;
con.Contratos.Add(c);
con.Notificaciones.Add(n);
@@ -123,18 +123,32 @@ public class RepositorioContratos: RepositorioBase<RepositorioContratos> {
cont.Habilitado = 1;
cont.Fechainicio = DateTime.Now;
var fecha = cont.Fechainicio;
if (cont.MesesDurationContrato < cont.MesesHastaAumento) {
for (int i = 0; i < cont.MesesDurationContrato; i++) {
Canon can = new Canon{
Fecha = fecha.AddMonths(i),
Monto = cont.IdpropiedadNavigation.Monto,
Pagado = 0,
};
can.Id = (con.Canons.Any()? con.Canons.Count() :0)+1+i;
for (int i = 0; i < cont.MesesHastaAumento; i++) {
Canon can = new Canon{
con.Canons.Add(can);
cont.Idcanons.Add(can);
}
} else {
for (int i = 0; i < cont.MesesHastaAumento; i++) {
Canon can = new Canon{
Fecha = fecha.AddMonths(i),
Monto = cont.IdpropiedadNavigation.Monto,
Pagado = 0,
};
can.Id = (con.Canons.Any()? con.Canons.Count() :0)+1+i;
Monto = cont.IdpropiedadNavigation.Monto,
Pagado = 0,
};
can.Id = (con.Canons.Any()? con.Canons.Count() :0)+1+i;
con.Canons.Add(can);
cont.Idcanons.Add(can);
con.Canons.Add(can);
cont.Idcanons.Add(can);
}
}
return Guardar(con);
}